Python 通过比较值获取列表值

Python 通过比较值获取列表值,python,django,list,Python,Django,List,我有这样一份清单: data.append( { "type": type, "description": description, "amount": 1, } ) 每次有新对象时,我都要检查列表中是否已经有具有相同描述的条目。如果有,我需要在金额上加1 我怎样才能最有效地做到这一点?只有这样才能查看所有条目吗?我

我有这样一份清单:

    data.append(
        {
            "type": type,
            "description": description,
            "amount": 1,
        }
    )
每次有新对象时,我都要检查列表中是否已经有具有相同描述的条目。如果有,我需要在金额上加1


我怎样才能最有效地做到这一点?只有这样才能查看所有条目吗?

我建议将
数据制作成dict,并使用描述作为键

如果您担心将字符串用作键的效率,请阅读以下内容:

例如:

data={}
while loop():#这里是您的代码
现有=data.get(说明)
如果“现有”为“无”:
数据[说明]={
“类型”:类型,
“描述”:描述,
“金额”:1,
}
其他:
现有[“金额”]+=1

在任何一种情况下,您都应该首先对这两个解决方案进行基准测试(另一个是迭代方法)在得出任何关于效率的结论之前。

你可以将数据作为字典,并将描述作为关键。我认为将描述值作为关键是个坏主意,因为描述可以是任何类型的length@bigbounty我现在把它作为一个价值?你到底是什么意思?谢谢你的帮助@正如bigbounty提到的,这并不理想。描述可以是250个字符长。在这种情况下,您可以始终将数据作为字典,并将描述的哈希作为键。