如何获取字典显示数字显示计数?

我有一个像下面这样的巢列表:

list = [
    [1, 2, 4, 5],
    [2, 3, 4, 5],
    [1, 3, 4, 5, 6],
    [1, 2, 3],
]

我想得到一个字典来显示数字显示计数,字典应该如下:

{ '1': 3, 
  '2': 3, 
  '3': 3, 
  '4': 3, 
  '5': 3, 
  '6': 1 }

怎么弄这个?

最佳答案 首先,可以通过将所有元素(将内部元素从列表中取出)组合到单个列表然后使用Counter来展平列表:

from collections import Counter
dict(Counter(inneritem for item in list for inneritem in item))

结果:

{1: 3, 2: 3, 3: 3, 4: 3, 5: 3, 6: 1}

如果您希望项目为键,可能会将每个项目转换为字符串并将它们传递给Counter:

dict(Counter(str(inneritem) for item in list for inneritem in item))
点赞