python list remove pop 安全,不用开辟另外一个对象

过滤一个列表,不用重新生成另外一个列表

a = [[1,1],[1,2],[2,2],[1,3],[2,3]]
for i in a[:]:
       if i[0]==1:
          a.remove(i)
    print a

 或者下面的方法--这个方法很牛逼--都不用复制对象---只需要倒着遍历即可

a = [[2,1],[1,1],[1,2],[2,2],[1,3],[2,3],[1,5]]
for i in xrange(len(a) - 1, -1, -1):
    b = a[i]
    if b[0]==1:
        del a[i]
print a

 

 

 


分享到: 微信 更多