gpt4 book ai didi

python - 在列表列表中查找最大出现次数

转载 作者:行者123 更新时间:2023-11-28 20:35:07 25 4
gpt4 key购买 nike

我正在尝试找出一种方法,让值在列表的列表中最常出现。我尝试使用 Counter,它为我提供了每次不同事件的计数。我想要一个不使用 Counter 的解决方案,因为我不熟悉它,但如果有人可以提供帮助,我不反对。

def get_uncommon_colors(self):
uncommon_colors_list=[]
colors=['black','red','white','blue']
for newCard in self.cardlist:
newCard.rarity.split()
if newCard.rarity=="Mythic Rare":
if newCard.get_colors!="None":
uncommon_colors_list.append(newCard.get_colors())
else:
continue
#test=(Counter(x for sublist in uncommon_colors_list for x in sublist))
return(uncommon_)

颜色列表列表:

[['White'],
['Blue'],
['Blue'],
['Black'],
['Red'],
['Red'],
['Green'],
['Green'],
['Red', 'Green'],
['White', 'Green'],
['Black', 'Red'],
['White', 'Blue'],
['Blue', 'Black'],
['White', 'Blue'],
['Blue', 'Red', 'Green']]

使用计数器

Counter({'Black': 3, 'Blue': 6, 'Green': 5, 'Red': 5, 'White': 4})

最佳答案

要获得最常见的颜色,请使用 most_common() Counter 的方法.第一项是最常见的:

from collections import Counter

list_of_lists = [['White'], ['Blue'], ['Blue'], ['Black'], ['Red'], ['Red'], ['Green'], ['Green'], ['Red', 'Green'], ['White', 'Green'], ['Black', 'Red'], ['White', 'Blue'], ['Blue', 'Black'], ['White', 'Blue'], ['Blue', 'Red', 'Green']]

>>> Counter(colour for sublist in list_of_lists for colour in sublist).most_common(1)
[('Blue', 6)]

如果你想自己做,你可以使用字典:

d = {}

for sublist in list_of_lists:
for colour in sublist:
d[colour] = d.get(colour, 0) + 1

>>> max(d.items(), key=lambda t: t[1])
('Blue', 6)

关于python - 在列表列表中查找最大出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47465825/

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