在codecademy中,有一个关于定义一个函数来“净化”一个数字列表的练习,以便从列表中省略所有奇数
此指令允许我首先考虑从列表中删除奇数,因此我创建了以下函数:
def purify(x):
for n in x:
if n%2!=0:
x.remove(n)
return x
then tested on something like:
print(purify([1,1,2,3,4]))
令我惊讶的是,这并没有像预期的那样打印列表[2,4],而是打印了[1,2,4]
然后,我的同事建议我通过在一个新的列表中添加数字来处理这个问题,这很有效
def purify(x):
newx=[]
for n in x:
if n%2==0:
newx.append(n)
return newx
但他们无法解释为什么第一种方法不起作用
为什么第一个方法不能删除列表中的第二个“1”
目前没有回答
相关问题 更多 >
编程相关推荐