Re: [問題] 刪除list中特定的element
※ 引述《neurone (明月照大江)》之銘言:
: 小弟有個問題請各位大師,我想要刪掉input list中特定的element
: 以下為例,想要刪掉值為0,9 的element。但是index=7的0 刪不掉。
: 請問程式碼哪裡出錯造成這樣的問題?
: 謝謝各位撥冗解救小弟
: ================================
: input = [0,0,1,2,3,4,0,5,6,7,8]
: del_char = [0,9]
: print input
: for item in input:
: if item in del_char:
: input.remove(item)
: print input
: ================================
: 預期結果:[1,2,3,4,5,6,7,8]
: 實際結果:[1,2,3,4,0,5,6,7,8]
Previously: #1I6BcVm5
一句總結就是你不能這樣寫, 完
不過最近過年所以買一送一
比較 Pythonic 的寫法應該是用 list comprehension 造一個新的
input_list = [0,0,1,2,3,4,0,5,6,7,8]
del_char = [0,9]
input_list = [ele for ele in input if ele not in del_char]
然後再送你一根蔥
input 是 built-in function, 最好不要把你的變數取這個名字
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.161.94.175
推
02/02 18:51, , 1F
02/02 18:51, 1F
→
02/02 22:12, , 2F
02/02 22:12, 2F
→
02/02 22:13, , 3F
02/02 22:13, 3F
推
02/06 23:09, , 4F
02/06 23:09, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):