首页 > 编程语言 > 详细

Python遍历删除元素

时间:2015-11-12 23:21:20      阅读:352      评论:0      收藏:0      [点我收藏+]

需求:

有一个列表:ls = [1,2,3,4,5,6],要求删除其中的偶数

如果是下面这种方法,在遍历的过程中删除,会有问题

for i in range(len(ls)):
    if ls[i]%2 == 0:
        del ls[i]

 异常:IndexError: list index out of range

因为删除一个元素后,列表的长度改变了,所以会报下标越界。

可以采取一下三种方法:

1.

ls = [x for x in ls if x%2!=0]      #列表解析

 2.

ls = filter(lambda x:x%2!=0,ls)  #filter

 3.

for i in range(len(ls)-1,-1,-1):     #倒序
    if ls[i]%2 == 0:
        del ls[i]

 

Python遍历删除元素

原文:http://www.cnblogs.com/ljwbook/p/4960478.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!