gpt4 book ai didi

python - 列表增量列表(如果存在)否则扩展

转载 作者:太空宇宙 更新时间:2023-11-04 08:51:26 25 4
gpt4 key购买 nike

我有一个列表列表如下

[
['a', 1],
['b',2],
['c',1],
['a', 2],
['c', 5]
]

我想以这样一种方式规范化这个列表,即对于每个“a”、“b”、“c”等,我在列表中只有一个唯一条目,对于每个重复列表,第二个值是是添加数量以便我得到类似的东西:

[
['a', 3], # so since 'a' already existed the quantity is added 1 + 2 becomes 3
['b',2],
['c',6] # similarly for 'c' it becomes 1 + 5 = 6
]

如何用 Python 做到这一点?

最佳答案

我建议使用 collections.defaultdict()如下所示:

from collections import defaultdict

l = [
['a', 1],
['b',2],
['c',1],
['a', 2],
['c', 5]
]

d = defaultdict(int)
for key, value in l:
d[key] += value

print(d.items())

输出:

dict_items([('b', 2), ('a', 3), ('c', 6)])

您也可以使用 try...expect 而不是 collections.defaultdict()...如果您愿意:

d = {}
for key, value in l:
try:
d[key] += value
except KeyError:
d[key] = value

此外,您可以尝试if...else:

d = {}
for key, value in l:
if key in d:
d[key] += value
else:
d[key] = value

关于python - 列表增量列表(如果存在)否则扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34831375/

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