我试图打印第二个列表而不打印第二个重复项。我想我可以使用x.remove(list),但它不起作用。有什么建议吗?
x = [] #initiate empty string
counter = {}
while list != "DONE":
list = input() #keep asking for input
for i in x:
if not i in counter:
x.append(list)
else:
x.remove(list)
答案 0 :(得分:0)
如果您不想在列表中使用重复项,则可以使用:
In [38]: l1 = [1,2,1,2,1,2]
In [39]: l2= list(set(l1))
In [40]: l2
Out[40]: [1, 2]
答案 1 :(得分:0)
我认为这是你想要实现的目标:
x = []
while True:
data = input()
if data.lower() == "done":
break
if data not in x:
x.append(data)
请注意使用while True
和break
来避免两次input
来电。
或者,使用set
:
x = set()
while True:
data = input()
if data.lower() == "done":
break
x.add(data)
x = list(x)
这将悄然忽略添加重复项的尝试。
如果您确实 希望允许用户再次输入x
中的项目,则可以添加else
并使用{{1} (对于列表)或remove
(对于集合),例如:
discard