作者neurone (明月照大江)
看板Python
標題[問題] 刪除list中特定的element
時間Sun Feb 2 17:48:08 2014
小弟有個問題請各位大師,我想要刪掉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]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 27.241.199.95
推 bxxl:你在loop中不能把"input"改掉,會影響for loop的判斷 02/02 18:25
推 tiefblau:話說input保留字喔 02/02 22:10
→ neurone:感謝大師! 02/02 22:14
→ mikapauli:問題在於你完全搞錯了list.remove的用法吧 02/03 09:36
→ mikapauli:要用remove可以這樣寫 02/03 09:41
→ mikapauli:for item in del_char: 02/03 09:42
→ mikapauli: while(item in input): 02/03 09:42
→ mikapauli: input.remove(item) 02/03 09:43
→ mikapauli:阿while不用括弧 02/03 09:45