我目前的代码使用for循环,我试图从列表3中删除偶数和列表2中的奇数。 但是我的问题是,当for循环迭代时,项目在位置2,向下移动一个项目被删除后位置的一个,因此跳过一个项目,按计划Python for循环列表
list1 = ["roll", "burger", "cheese", "ketchup", "mustard"]
list2 = []
list3 = []
for i in list1:
print(i)
#code to add ten numbers to list2
a = 0
while a < 10:
a = a + 1
userdata = input("Enter a whole number: ")
usernum = int(userdata)
list2.append(usernum)
list3[:0]=list2
print(list3)
for n in list2:
if int(n) % 2 != 0:
list2.remove(n)
print(list2)
for x in list3:
if int(x) % 2 == 0:
list3.remove(x)
print(list3)
我怎么会做出这样的代码删除奇偶码不起作用使用for循环没有跳过任何数字?
你真的想把它变成原地吗?怎么样的列表理解呢? – bereal
例如,您可以创建一个新列表并将其推入所需的值,而不是将其从正在迭代的列表中删除。 – rakwaht
或者,您可以在输入阶段将其追加到所需的列表。 – bereal