Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python列表输入2个相同的单词,如何只打印一次_Python_List - Fatal编程技术网

Python列表输入2个相同的单词,如何只打印一次

Python列表输入2个相同的单词,如何只打印一次,python,list,Python,List,嗨,第一次在这里发帖,我试图制作一个只打印一次输入的列表。例如,如果用户输入: 汽车 狗 狗 房子 汽车 然后,您的程序应显示: 汽车 狗 房子 我也试过了 if word == wordlist: wordlist[-1] 任何帮助都会很好。如果单词顺序无关紧要,请使用set wordlist = set() while True: word = (input("Enter a word (blank to quit): ")) if word == "":

嗨,第一次在这里发帖,我试图制作一个只打印一次输入的列表。例如,如果用户输入: 汽车 狗 狗 房子 汽车 然后,您的程序应显示: 汽车 狗 房子

我也试过了

if word == wordlist:
    wordlist[-1]

任何帮助都会很好。

如果单词顺序无关紧要,请使用
set

wordlist = set()
while True:
    word  = (input("Enter a word (blank to quit): "))
    if word == "":
        break
    wordlist.add(word)

for word in wordlist:
    print(word)
如果插入单词的顺序很重要,请在列表中附加条件

wordlist = []
while True:
    word  = (input("Enter a word (blank to quit): "))
    if word == "":
        break
    if word not in wordlist:
        wordlist.append(word)

for word in wordlist:
    print(word)
如果您想保留副本,但只想在打印时删除

for word in set(wordlist):
    print(word)
如果打印时需要维护订单

visited=set()
for word in wordlist:
    if word not in visited:
        print(word)
        visited.add(word)
您可以尝试以下操作:

wordlist = []
while True:
  word  = (input("Enter a word (blank to quit): "))
  if not word:
    break
  elif word not in wordlist:
    wordlist.append(word)

for word in wordlist:
    print(word)

如果您也替换了
wordlist,则单词列表中的
word应该可以工作。用
继续
删除(word)
,然后放入
wordlist。在检查后追加(word)
,而不是在检查之前
word==wordlist
正在将字符串与列表进行比较,在代码中可能永远不会返回
True
。此外,缩进不一致-我建议使用保持其一致性的IDE,否则会遇到各种问题。
如果word不在wordlist中:wordlist.append(word)
是您在中阅读单词后立即需要的。如果您搜索短语“Python教程列表”,您将找到比我们在这里的答案更好的资源来解释它。非常简单地说,您将单个单词(字符串)与整个列表进行比较。这些永远不可能是平等的。
In [49]: words = 'car dog dog house car'.split()                                           

In [50]: from collections import OrderedDict                                               

In [51]: word_dict = OrderedDict()                                                         

In [52]: for word in words: 
    ...:     word_dict[word] = None 
    ...:                                                                                   

In [53]: for word in word_dict: 
    ...:     print(word) 
    ...:                                                                                   
car
dog
house
wordlist = []
while True:
  word  = (input("Enter a word (blank to quit): "))
  if not word:
    break
  elif word not in wordlist:
    wordlist.append(word)

for word in wordlist:
    print(word)