gpt4 book ai didi

Python:如何从包含重复项的列表列表中返回具有计数的不同项目列表?

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:35 25 4
gpt4 key购买 nike

我在列表中嵌套了列表。这是我尝试使用列表的迷你预览来计算单个嵌套列表的数量的代码:

count_list = [['a', 'b'],['d', 'e'], ['e'], ['c'], ['a', 'b'], ['c']]
distinct_list = []
count_list.sort()
for x in count_list:
if x not in distinct_list:
distinct_list.append(x)
for z in distinct_list:
for y in count_list:
if y == z:
print(z, count_list.count(z))

我试图让输出成为一个字典/列表,其中只有不同的嵌套列表及其计数,以便我可以按计数对结果进行排序。列表不采用两个值,因此我正在考虑将其设为字典以便于存储。这些是我从上面的代码中得到的结果。

(['a', 'b'], 2)
(['a', 'b'], 2)
(['c'], 2)
(['c'], 2)
(['d', 'e'], 1)
(['e'], 1)

我希望输出只为每个不同的列表及其各自的计数提供一行(而不是为上面的当前输出中看到的同一列表提供多行)。有什么想法吗?

最佳答案

你应该使用 collections.Counter() :

>>> count_list = [['a', 'b'],['d', 'e'], ['e'], ['c'], ['a', 'b'], ['c']]
>>> import collections
>>> result = collections.Counter(tuple(x) for x in count_list)
>>> print(result)
Counter({
('c',): 2,
('a', 'b'): 2,
('d', 'e'): 1,
('e',): 1
})

关于Python:如何从包含重复项的列表列表中返回具有计数的不同项目列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52613142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com