我目前的代碼使用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