将重复项列表转换为简洁的词典

2024-05-13 01:00:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有名单

dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']

我想把它转换成这样表示的字典

{'golden coin':3,'dagger':1,'ruby':1}

然后,我想将它与现有的字典结合起来,以合并库存。这可能吗


Tags: 字典库存coinruby名单daggergoldgolden
2条回答

使用collections模块中的Counter执行此操作

from collections import Counter
dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
dic = Counter(dragonLoot)

您还可以使用以下理解dict语法:

dragonLoot = ['gold coin', 'dagger', 'gold coin', 'gold coin', 'ruby']
res = {el: dragonLoot.count(el) for el in  dragonLoot}
print(res)

威奇印刷品:

{'gold coin': 3, 'ruby': 1, 'dagger': 1}

相关问题 更多 >