[問題] not in 檢查list元素會失敗嗎?
我想做兩個list_A, list_B 元素的確認
然後用 list_A.remove() 移除掉不在list_B
最後的目標是讓list_A, list_B 相同
我的程式碼如下
(python ver 3.6.6, MacOS, 用colab和jupyter notebook跑都是一樣的結果)
--
list_A = ["a", "b", "c","g", "f", "K", "larry", "curly", "moe"]
list_B = ["a", "b", "c","g", "f", "K"]
for element in list_A:
if element not in list_B:
list_A.remove(element)
print(list_A)
--
我得到的結果
['a', 'b', 'c', 'g', 'f', 'K', 'curly']
多了一個'curly' @@
想請教板上的高手們,是語法還是哪邊出錯呢?
1. not in 無法這樣使用?
2. remove()的問題?
(把元素換成數字也是有類似的狀況)
有嘗試把下面的這段獨立成一個cell, 執行第二次就完全相同了~
('curly'就成功remove)
--
for element in list_A:
if element not in list_B:
list_A.remove(element)
--
找了stackoverflow一個下午,找不到解答
我該使用哪些關鍵字呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.135.86.153
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1545752503.A.36A.html
※ 編輯: ofspring (220.135.86.153), 12/25/2018 23:43:18
→
12/26 00:00,
6年前
, 1F
12/26 00:00, 1F
→
12/26 00:08,
6年前
, 2F
12/26 00:08, 2F
推
12/26 00:39,
6年前
, 3F
12/26 00:39, 3F
推
12/26 03:34,
6年前
, 4F
12/26 03:34, 4F
→
12/26 03:34,
6年前
, 5F
12/26 03:34, 5F
→
12/26 03:34,
6年前
, 6F
12/26 03:34, 6F
推
12/26 07:33,
6年前
, 7F
12/26 07:33, 7F
→
12/26 08:59,
6年前
, 8F
12/26 08:59, 8F
推
12/26 09:07,
6年前
, 9F
12/26 09:07, 9F
推
12/26 10:47,
6年前
, 10F
12/26 10:47, 10F
推
12/26 11:46,
6年前
, 11F
12/26 11:46, 11F
→
12/26 11:46,
6年前
, 12F
12/26 11:46, 12F
→
12/26 18:03,
6年前
, 13F
12/26 18:03, 13F
→
12/26 18:04,
6年前
, 14F
12/26 18:04, 14F
推
12/27 01:55,
6年前
, 15F
12/27 01:55, 15F
→
12/27 01:55,
6年前
, 16F
12/27 01:55, 16F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章