Skip to main content
 首页 » 编程设计

python之如何省略列表中的重复项

2025年05月04日22unruledboy

我目前正在尝试编写一个程序来计算输入中某个单词出现的次数。我目前遇到以下问题:

举个例子:

list: ['red', 'green', 'blue', 'green'] 

如果我像这样使用 for 循环:

for i in range(len(userinput)): 
    list.count(userinput[i]) 

它只会返回:1, 2, 1, 2

我如何让它返回:1, 2, 1,只计算一次出现的次数?

请您参考如下方法:

我不确定 [1,2,1] 形式的计数是否有很大意义。理想情况下,您需要一个包含每个元素计数的字典,如下所示:

l = ['red', 'green', 'blue', 'green'] 
from collections import Counter 
Counter(l) 

你得到

Counter({'blue': 1, 'green': 2, 'red': 1}) 

如果你想在没有计数器的情况下执行此操作,请尝试

 dict((item, l.count(item)) for item in l) 

你得到

{'blue': 1, 'green': 2, 'red': 1}