作者uranusjr (←这人是超级笨蛋)
看板Python
标题Re: [问题] 删除list中特定的element
时间Sun Feb 2 18:09:18 2014
※ 引述《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
1F:推 orangechin:买一送一还送葱 真是赚到了XDD 02/02 18:51
2F:→ tiefblau:阿喔 刚没看到这篇 上篇多推了 02/02 22:12
3F:→ neurone:感谢各位大师! 02/02 22:13
4F:推 maydaychaaaa:推 02/06 23:09