如果我不断添加用户输入的字符串。如何将字符串添加到列表中,内容已经在里面?
x = 4
y = 9
repeatList = []
abc = str(x)+str(y)
repeatList.append(abc)
x = 3
y = 2
abc = str(x)+str(y)
repeatList.append(abc)
x = 4
y = 9
abc = str(x)+str(y)
repeatList.append(abc)
print(repeatList)
给出一个输出:
['49', '32', '49']
所需的输出为['49','32']
,并显示消息"您已输入' 49'已经&#34。
请注意在实际代码中我们没有为int分配变量,相反,我们允许玩家输入,如果他们之前已经写过,我们就让他们知道他们输入了相同的输入他们仍然失去了一个“动作”。
答案 0 :(得分:2)
假设您要将变量x
插入列表,请检查:
if x in lst:
print ("You have inputted", x, "already.")
else:
lst.append(x)
答案 1 :(得分:0)
x = 4
y = 9
repeatList = []
if str(x)+str(y) not in repeatList:
repeatList.append(str(x)+str(y))
else:
print('You have inputted {0} already.'.format(str(x)+str(y)))
x = 3
y = 2
if str(x)+str(y) not in repeatList:
repeatList.append(str(x)+str(y))
else:
print('You have inputted {0} already.'.format(str(x)+str(y)))
x = 4
y = 9
if str(x)+str(y) not in repeatList:
repeatList.append(str(x)+str(y))
else:
print('You have inputted {0} already.'.format(str(x)+str(y)))
print(repeatList)
输出:
You have inputted 49 already.
['49', '32']
答案 2 :(得分:0)
除了@idos已经说过的话:
如果您对插入顺序不感兴趣,并且您添加的对象为hashable,则可以使用set,其中faster performance than lists检查元素是否已在内部它
>>> s = set()
>>> s.add(49)
>>> s
set([49])
>>> s.add(32)
>>> s
set([32, 49])
>>> s.add(49)
>>> s
set([32, 49])
>>> s.add('49')
>>> s
set([32, 49, '49'])