30秒学会 Python 片段 · 2017年12月25日

30秒学会 Python 片段 – frequencies.md


title: frequencies
tags: list,intermediate

Returns a dictionary with the unique values of a list as keys and their frequencies as the values.

Use a for loop to populate a dictionary, f, with the unique values in lst as keys, adding to existing keys every time the same value is encountered.

代码实现

from functools import reduce

def frequencies(lst):
  f = {}
  for x in lst:
    f[x] = f[x] + 1 if x in f else 1
  return f

使用样例

frequencies(['a', 'b', 'a', 'c', 'a', 'a', 'b']) # { 'a': 4, 'b': 2, 'c': 1 }