我有一个像下面这样的巢列表:
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))