我正在学习Python并编写一个程序来跟踪各种类型的文件扩展名的总数。我认为字典将是跟踪此信息的完美数据类型,如:
.txt 14
.c 27
.java 12
我编写了一些构建一个集合的代码,它消除了重复的文件扩展,但是我如何在Python中使用字典来做同样的事情,但是要跟踪出现次数?
ext_list = set()
for i in file_list:
ext_list.add(i.extension)
答案 0 :(得分:7)
在Python 2.7或更高版本中,您可以使用collections.Counter
:
from collections import Counter
c = Counter(i.extension for i in file_list)
print(c)
Counter
是一个派生自标准Python dict
的类。
如果您希望使用普通dict
,则可以利用其setdefault()
方法:
counts = {}
for i in file_list:
counts.setdefault(i.extension, 0)
counts[i.extension] += 1
答案 1 :(得分:3)
ext_count = collections.defaultdict(int)
for i in file_list:
ext_count[i.extension] += 1