在Python中创建列表并删除重复项

问题描述:

我正在Python中使用.split创建一个列表项。我的代码将用户的输入分割成一个列表。我想知道如何停止打印句子中单词重复项目的程序。目前我的代码是这样的:在Python中创建列表并删除重复项

sentence = input("Enter a sentence").lower() 
sentencesplit = sentence.split() 
print(sentencesplit) 

当我输入“运行运行阿甘跑”,则回复:

['run', 'run', 'Forrest', 'run'] 

但我希望它只是返回运行和阿甘,我希望它只是名单同一个词一次。有没有人知道这样做的方式?我需要保持顺序,所以类似这个问题不能帮助我,所以不要将其标记为重复,只要离开并继续前进就可以了。

谢谢,艾萨克

+0

是的,这是一个重复。请实际阅读该页面。 – TigerhawkT3

+0

没有它不是我想要的订单 –

+0

是的。这个问题有二十四个答案,而第二个答案提供了一个解决方案来维持原来的顺序。 – TigerhawkT3

您可以使用set

list(set(sentencesplit)) 
+0

如果单词的顺序不重要.. – Elan

mylist = [word for word in mylist if mylist.count(word) == 1] 
+0

缺少最后一个']'。 – wildwilhelm

+0

虽然这是一个有效的答案,但与替代方案 –

+0

相比效率非常低,所提出的替代方案不会忽略字词顺序 –