一直调不通这个东西,我想要的是不产生新对象,在原对象上
操作,所以不考虑filter...
原来喜欢这样写:
a = [1,2,3,4,5,6]
def remove(alist):
lenoflist = len(alist)
for i in range(alist):
if i % 2 == 0:
del i
remove(a)
却一直不对,唉...
问了一下群里的高手,原来:
del i 只是释放i这个变量的内存空间
So.这样写就好了,剽窃了别人的创意,不过,学习学习,呵呵...
remove.py:
#!/usr/bin/env pyhton
a = [1,2,3,4,5,6]
def remove(alist):
for i in alist:
if i % 2 == 0:
del alist[alist.index(i)]
print alist
remove(a)
还有一种:
def test(l):
i = 0
while i<len(l):
if l[i]%2==0:
l.pop(i)
else:
i = i+1