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