任务是创建Modify_list(l)函数,该函数从列表中删除奇数,并将列表中的偶数除以2,而没有余数。
#My code
lst = [1, 2, 3, 4, 5, 6]
def modify_list(l):
for k in l:
if k%2 == 1:
l.remove(k)
elif k%2 != 1:
l.remove(k)
l.append(k//2)
return l
print(modify_list(lst))
#This is how function is expected to work:
lst = [1, 2, 3, 4, 5, 6]
print(modify_list(lst)) # None
print(lst) # [1, 2, 3]
modify_list(lst)
print(lst) # [1]
#My code returns:
print(modify_list(lst)) #[2, 4, 6] instead of none or at least [1, 2, 3]
因此,省略了部分Elif代码!我不明白为什么
答案 0 :(得分:0)
您需要创建列表的副本。但是,以下语法应会为您提供所需的结果,并且更具可读性:
def modify_list(l):
return [value // 2 for value in l if value % 2 == 0]
您基本上是在使用列表理解来创建一个新列表,其中包含将偶数减半的值。