我写了一个函数来从列表中删除奇数,就像这样:
def remove_odd(l):
for i in l:
if i % 2 != 0:
l.remove(i)
print l
return l
remove_odd([4,5,4])
remove_odd([4,5,4,7,9,11])
remove_odd([4,5,4,7,9,11,12,13])
它返回:
[4, 4]
[4, 4, 9]
[4, 4, 9, 12]
– >错误
但当我改为删除偶数时:
def remove_even(l):
for i in l:
if i % 2 == 0:
l.remove(i)
print l
return l
remove_even([4,5,4])
remove_even([4,5,4,7,9,11])
remove_even([4,5,4,7,9,11,12,13])
答案还可以:
[5]
[5, 7, 9, 11]
[5, 7, 9, 11, 13]
remove_odd()函数有什么问题?
我知道人们通常会在func中创建第二个列表,然后将偶数附加到该列表中,但是我们可以用list.remove()解决这个练习吗?
谢谢!