我想创建list
,然后输入int
,然后将int
数量的字符串添加到list
,然后打印出来。到目前为止一切顺利:
list = []
number = int(raw_input("Enter a number: "))
while number > 0:
list.append(str(raw_input("Enter a word: ")))
number = number - 1
print list
但是,如何使它更高级,以便您不能将相同的字符串两次添加到列表中?
答案 0 :(得分:4)
你可以保留set看到的所有字符串,只添加一个字符串,如果以前没有看过,你也不需要保留一个计数变量,你可以循环直到{ {1}}:
len(data) != number
如果订单无关紧要,你可以只使用一套,因为套装不能有欺骗:
number = int(raw_input("Enter a number: "))
seen = set()
data = []
while len(data) != number:
inp = raw_input("Enter a word: ")
if inp not in seen:
data.append(inp)
seen.add(inp)
答案 1 :(得分:2)
在追加之前检查列表是否已包含输入的字符串。并且不要使用内置关键字作为变量名。
list_ = []
number = int(raw_input("Enter a number: "))
while number > 0:
x = raw_input("Enter a word: ")
if not x in list_:
list_.append(x)
number = number - 1
else:
print "Word is already available"
print list_
答案 2 :(得分:-1)
你可以做这样的事情
mylist = []
number = int(raw_input("Enter a number: "))
while number > 0:
mystring = str(raw_input("Enter a word: "))
if mystring not in mylist:
mylist.append(mystring)
number = number - 1
else:
print('Choose different string')
next
print mylist
并尝试避免内置函数作为变量名。内置函数