简单的字典理解

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() 来解决它。我试了好几次都错了。

mam*_*mun 6

使用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)