法典
def removeEven(List):
for x in List:
if x % 2 == 0:
List.remove(x)
return List
print(removeEven([18, 106, -158, -124, 199, -28, -68, -91, 46, -190, 63, -30, 142, -36, -162, -121, 14, -192, -143, -57, -59, -129, -146, -76, -186, -84, 70, 19, -13, -12, -5, 179, -191, -43, 160, -156, 105, 104, 93, -188, -184, -197, -136, -35, 16]))
输出
[106, -124, 199, -68, -91, -190, 63, 142, -162, -121, -192, -143, -57, -59, -129, -76, -84, 19, -13, -5, 179, -191, -43, -156, 105, 93, -184, -197, -35]
法典
def removeEven(List):
result = []
for x in List:
if x % 2 != 0:
result.append(x)
return result
输出
[199, -91, 63, -121, -143, -57, -59, -129, 19, -13, -5, 179, -191, -43, 105, 93, -197, -35]
我遇到了这种奇怪的行为。我正在编写一个简单的函数来从列表中删除偶数,但是当我修改作为参数传递的列表并返回它时,我得到了一个奇怪的输出。有谁知道原因是什么?
请注意,我不是在寻找这个问题的答案,很容易谷歌,但只是解释为什么当我不创建新列表并返回它时输出不同。
幕布斯6054654
相关分类