列表中的重复项保留第一个元素

时间:2020-04-15 22:00:30

标签: python list

我不明白为什么结果显示2个“红色”。结果是:[红色,粉红色,红色,白色,蓝色]

string ='red,red,white,white,pink,blue,red,white,blue'
wordlist = string.split(',')
for i in wordlist:
   if (wordlist.count(i) > 1):
      wordlist.remove(i)
print(wordlist)

2 个答案:

答案 0 :(得分:0)

函数remove()仅删除找到的第一个匹配项。您的列表中有3次单词“ red”。所以只删除第一个,剩下的2。 可能的解决方案是:

for i in wordlist:
    while wordlist.count(i)>1:
    wordlist.remove(i)

答案 1 :(得分:0)

U可以使用fromkeys()函数删除重复列表。

string ='red,red,white,white,pink,blue,red,white,blue'
wordlist = string.split(',')
wordlist = list(dict.fromkeys(wordlist))
print(wordlist)

输出:['red', 'white', 'pink', 'blue']