从可迭代对象填充计数字典的最pythonic 方法是什么?
我知道有collections.Counter,我可以做
counter = Counter(iterable)
Run Code Online (Sandbox Code Playgroud)
然后counter就像字典一样使用不同的项目作为键,iterable并将它们的计数作为值。
但是必须有一种 pythonic 的方式来做同样的事情,dict比普通的更紧凑
count = {}
for item in iterable:
if item not in count:
count[item] = 1
else:
count[item] += 1
Run Code Online (Sandbox Code Playgroud)
它是什么?
一种简单的方法:
count = {}
for item in iterable:
count[item] = count.get(item, 0) + 1
Run Code Online (Sandbox Code Playgroud)
但通常,您应该只使用collections.Counter. 你不使用Counter“就像”一个字典,它是一个字典。
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |