作者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
1F:推 bxxl:你在loop中不能把"input"改掉,会影响for loop的判断 02/02 18:25
2F:推 tiefblau:话说input保留字喔 02/02 22:10
3F:→ neurone:感谢大师! 02/02 22:14
4F:→ mikapauli:问题在於你完全搞错了list.remove的用法吧 02/03 09:36
5F:→ mikapauli:要用remove可以这样写 02/03 09:41
6F:→ mikapauli:for item in del_char: 02/03 09:42
7F:→ mikapauli: while(item in input): 02/03 09:42
8F:→ mikapauli: input.remove(item) 02/03 09:43
9F:→ mikapauli:阿while不用括弧 02/03 09:45