В списке Python введите 2 одинаковых слова, как распечатать его только один раз - PullRequest
0 голосов
/ 25 января 2019

Привет, впервые публикуя сообщения здесь, я пытаюсь составить список, который печатает ввод только один раз.Например, если пользователь вводит: car dog dog house car, то ваша программа должна отображать: car dog house

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

for word in wordlist:
    print(word)

Я также пытался

if word == wordlist:
    wordlist[-1]

Любая помощь будет отличной.

Ответы [ 3 ]

0 голосов
/ 25 января 2019
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
0 голосов
/ 25 января 2019

Вы можете попробовать следующее:

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)
0 голосов
/ 25 января 2019

Если порядок слов не имеет значения, используйте 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...