[問題] for迴圈的串列表示
最近在練習使用for 迴圈 想比較兩串列並刪除重複元素
test1 = [1,2,3,5,7]
test2 = [1,2,3,4,5,6,7,8,9]
for x in test2:
if x in test1:
test2.remove(x)
print("已刪除",x)
print(test2)
有問題的是黃色字的部分
如果是test2 會輸出 [2,4,6,8,9]
但如果改成 test2[:] 則會輸出[4,6,8,9] 少了2(也是我期望的)
請問為什麼會有不同
應該不管加不加[:] test2的每個元素都會跑過一遍才是
感謝回答~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.83.72.172 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1645673701.A.819.html
推
02/24 11:57,
2年前
, 1F
02/24 11:57, 1F
→
02/24 11:57,
2年前
, 2F
02/24 11:57, 2F
→
02/24 11:58,
2年前
, 3F
02/24 11:58, 3F
→
02/24 11:58,
2年前
, 4F
02/24 11:58, 4F
→
02/24 12:00,
2年前
, 5F
02/24 12:00, 5F
→
02/24 12:08,
2年前
, 6F
02/24 12:08, 6F
推
02/24 15:30,
2年前
, 7F
02/24 15:30, 7F
→
02/24 15:31,
2年前
, 8F
02/24 15:31, 8F
→
02/24 15:32,
2年前
, 9F
02/24 15:32, 9F
→
02/24 15:32,
2年前
, 10F
02/24 15:32, 10F
→
02/24 15:32,
2年前
, 11F
02/24 15:32, 11F
→
02/24 15:55,
2年前
, 12F
02/24 15:55, 12F