gpt4 book ai didi

python - 根据值从列表中删除 namedtuple

转载 作者:行者123 更新时间:2023-11-28 20:43:56 26 4
gpt4 key购买 nike

考虑以下扩展 list 并附加 orderedtuple 的类:

from collections import namedtuple

Order = namedtuple('Order', ['id', 'value'])


class Orders(list):
def __init__(self, *args):
super(Orders, self).__init__()
self.extend(args)

def add(self, id, value):
self.append(Order(id, value))

...添加一些元素...

order = Orders()

order.add(1, 'alpha')
order.add(2, 'beta')
order.add(3, 'lambda')
order.add(4, 'omega')

...我们还剩下...

print order
[Order(id=1, value='alpha'), Order(id=2, value='beta'), Order(id=3, value='lambda'), Order(id=4, value='omega')]

假设我想通过它的 id 删除任意元素。例如:

order.remove(id=2) # ideal function call to remove by `id`
print order
[Order(id=1, value='alpha'), Order(id=3, value='lambda'), Order(id=4, value='omega')]

是否有一种相当简单的方法来实现这一点?

最佳答案

[namedtuple for namedtuple in list if namedtuple.id != 'id']

关于python - 根据值从列表中删除 namedtuple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28002993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com