【问题标题】:Iterating over a list while updating a dictionary with Python [duplicate]在使用 Python 更新字典时迭代列表 [重复]
【发布时间】:2018-07-11 04:58:21
【问题描述】:

例如,我有一个包含某些项目副本的列表:

list = [item1,item2,item2,item3,item4,item4]

我想遍历list并将每个项目放入一个空字典dict = {}

for item in list: # if the item isn't in the dict, add it and set value to 1 # if item is already in dict, increment value by one

操作字典和使用for 循环变量item 的最佳方法是什么?

【问题讨论】:

  • 或使用普通字典:for item in my_list: some_dict[item] = some_dict.get(item, 0) + 1

标签: python list dictionary


【解决方案1】:

您可以使用defaultdict

from collections import defaultdict
diction = defaultdict(lambda:0, {})
for item in your_list:
    diction[item] += 1

如果您的所有键不在字典中,则它们将被初始化为 1,否则会递增。

【讨论】:

  • 刚刚意识到这一点并进行了编辑。
  • 仍然,应该只使用int
  • 感谢您的回答,这对您有帮助!
猜你喜欢
  • 1970-01-01
  • 2017-12-17
  • 2021-02-22
  • 2020-09-10
  • 2020-08-22
  • 1970-01-01
  • 2021-07-26
  • 2016-09-29
  • 1970-01-01
相关资源
最近更新 更多