【发布时间】:2017-04-17 21:21:54
【问题描述】:
我有这样的课程:
class ex(object):
def __init__(self, tag, quantity):
self.tag = tag
self.quantity = quantity
我还有一个包含此类多个实例的列表,例如:
[ex('a', 10.5), ex('b', 5.0), ex('c', 2.0), ex('a', 5.0), ex('c', -10.0)]
如果 self.tag 与列表中的另一个实例匹配,我正在尝试找出一种添加 self.quantiy 属性的好方法。
输出将是:
[ex('a', 15.5), ex('b', 5.0), ex('c', -8.0)]
谢谢
edit:最终实例可以是一个新实例,也可以是累积的列表中的第一个。列表的最大大小将在 len() 的 1000 左右
【问题讨论】:
-
您要创建新实例还是修改现有实例?
-
这个列表可能有多大? O(n^2) 解决方案是否可以接受?
-
两种方式都行,我更喜欢新实例
-
O(n^2) 没问题,我没有看到超过 1k 的列表
-
你为什么“希望”列表理解?
标签: python list class list-comprehension