我有一个列表作为我正在进行的游戏的一部分。让我们说:
my_list = [1, 2, 3, 4, 5]
我也有一个功能:
def my_function(my_list):
a = [x for x in my_list if x < 4]
b = [x for x in my_list if x < 4] ## exactly the same as for `a`
print(a)
print(b)
调用my_function(my_list)
的结果是:
a
打印应该:
[1, 2, 3]
但b
打印一个空列表:
[]
显然上面的代码只是一个例子(复制我的整个代码对我来说是非常不切实际的),但它几乎是我在我的代码中面临的问题的副本。有谁知道可能导致这种行为的原因是什么?