Zy *_*aga 1 python python-3.x dictionary-comprehension
看看我这个
languages = ['English', 'German', 'English', 'Italian', 'Italian', 'English', 'German', 'French']
Run Code Online (Sandbox Code Playgroud)
我想从中生成一个频率表。所以我做了
freq = {}
for language in languages:
if language in freq:
freq[language] += 1
else:
freq[language] = 1
Run Code Online (Sandbox Code Playgroud)
哪个是对的
但我想在字典理解中使用 count() 来解决它。我试了好几次都错了。
使用Counter来自collections:
In [1]: from collections import Counter
In [2]: languages = ['English', 'German', 'English', 'Italian', 'Italian', 'English', 'Ger
...: man', 'French']
In [3]: count = Counter(languages)
In [4]: count
Out[4]: Counter({'English': 3, 'German': 2, 'Italian': 2, 'French': 1})
Run Code Online (Sandbox Code Playgroud)