所以我想让用户输入预制列表的信件。如果该字母中已存在该字母,我希望删除该字母,如果列表中不存在,我希望将其附加到列表中。 这是我现在正在使用的代码:
list1= ['a','b','c','d','e']
letter=input("please input a letter ")
for letter in list1:
if letter in list1:
del list1[letter]
print(list1)
else:
print(list1.append(letter)
它给出了类型错误,列表索引必须是整数而不是字符串。我该怎么做?
答案 0 :(得分:3)
您需要在索引处弹出该字母。也不需要for循环。编辑回答纳入@lukasz评论。
list1= ['a','b','c','d','e']
letter=input("please input a letter ")
if letter in list1:
list1.remove(letter)
else:
print(list1.append(letter))
答案 1 :(得分:1)
非常简单。如果值存在于列表中,则删除该值,否则添加。
list1= ['a','b','c','d','e']
letter=raw_input("please input a letter ")
list1.remove(letter) if letter in list1 else list1.append(letter)
答案 2 :(得分:0)
如果信件在list1
中,您可以使用remove
将其删除,append
可用于将新信件添加到列表末尾。以下脚本可让您看到它正常工作:
list1 = ['a','b','c','d','e']
while True:
print('Current list:', list1)
letter = input("Please input a letter: ")
if letter in list1:
list1.remove(letter)
else:
list1.append(letter)
例如:
Current list: ['a', 'b', 'c', 'd', 'e']
Please input a letter: f
Current list: ['a', 'b', 'c', 'd', 'e', 'f']
Please input a letter: b
Current list: ['a', 'c', 'd', 'e', 'f']
Please input a letter: a
Current list: ['c', 'd', 'e', 'f']