繁体   English   中英

如何计算每个嵌套列表的项目频率?

[英]How do I count the frequency of items for each nested list?

我有一个列表列表,我想计算每个嵌套列表中每个项目的频率。 我尝试使用 Defaultdict 进行计数,但我不知道如何创建一个漂亮的字典嵌套列表作为输出,以在nested_list 中每个列表的频率之间有所不同。

列表:

nested_list = [[hello, hello, hello, how, are, you],[1, 2, 2, 2],[tree, flower, tree]]

期望的输出:

final_list = [{hello: 3, how: 1, are: 1, you: 1}, {1: 1, 2: 3}, {tree: 2, flower:1}]

我目前拥有的:

dictionary = defaultdict(int)

for item in nested_list: 
    for x in item:
        dictionary[x] += 1

使用collections.Counter并转换为dict

>>> from collections import Counter
>>> [dict(Counter(x)) for x in nested_list]
[{'hello': 3, 'how': 1, 'are': 1, 'you': 1},
 {1: 1, 2: 3},
 {'tree': 2, 'flower': 1}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM