繁体   English   中英

使用列表查找唯一条目。 蟒蛇

[英]Finding unique entries, using a list. Python

我正在使用grok学习,但似乎无法解决此问题。 您需要编写一个程序程序,一次可以输入一个单词,并被告知输入了多少个唯一单词。 您不应该计算重复项。 输入空白行时,程序应停止要求输入更多单词。

这是我当前的代码:

words = []
word = input("Word: ")
while word != '': 
    words.append(word)
    word = input("Word: ")
print('You know', len(words), 'unique word(s)!')

它会计算您输入的单词数量,但我不知道如何检查它是否唯一。 以下是所需的输出:

Word: Chat
Word: Chien
Word: Chat
Word: Escargot
Word: 
You know 3 unique word(s)!

这是另一个:

Word: Katze
Word: Hund
Word: Maus
Word: Papagei
Word: Schlange
Word: 
You know 5 unique word(s)!
>>> words = ['Chat', 'Chien', 'Chat', 'Escargot']
>>> set(words)
set(['Chien', 'Escargot', 'Chat'])
>>> "You know " + str(len(set(words))) + " unique word(s)!"
'You know 3 unique word(s)!'

如果您不想存储重复项,请使用一组。

words = set() #initialize a set
word = input("Word: ")
while word != '': 
    words.append(word)
    word = input("Word: ")
print('You know', len(words), 'unique word(s)!')  

如果要存储所有元素而又不考虑重复项,请使用列表
如果要在列表中查找唯一元素,请执行以下操作:

myset = set(words) #Now, myset has unique elements
print('You know', len(myset), 'unique word(s)!')

根据您到那时在课程中应该学到的知识,可以使用if语句检查要查找的单词是否已在words列表中,并且仅在列表中尚未添加时添加它:

words = []
word = input("Word: ")
while word != '':
  if word not in words:
    words.append(word)
  word = input("Word: ")
print('You know', len(words), 'unique word(s)!')

在本课程的后面,您将学到更多有关集合(这是解决此问题的更有效方法)的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM