[英]Get list value by comparing values
我有一个这样的列表:
data.append(
{
"type": type,
"description": description,
"amount": 1,
}
)
每次有新的 object 时,我都想检查列表中是否已经存在具有相同描述的条目。 如果有,我需要在金额上加 1。
我怎样才能最有效地做到这一点? 是通过所有条目的唯一方法吗?
我建议将data
设为字典并将描述用作键。
如果您担心使用字符串作为键的效率,请阅读:python 字典中长(字符串)键的效率。
例子:
data = {}
while loop(): # your code here
existing = data.get(description)
if existing is None:
data[description] = {
"type": type,
"description": description,
"amount": 1,
}
else:
existing["amount"] += 1
在任何一种情况下,您都应该首先对两种解决方案(另一种是迭代方法)进行基准测试,然后才能得出任何关于效率的结论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.