不寻常的函数行为 - 为同一个变量返回不同的结果?

时间:2016-10-28 00:32:01

标签: python-3.x

我有一个列表作为我正在进行的游戏的一部分。让我们说:

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打印一个空列表:

[]

显然上面的代码只是一个例子(复制我的整个代码对我来说是非常不切实际的),但它几乎是我在我的代码中面临的问题的副本。有谁知道可能导致这种行为的原因是什么?

0 个答案:

没有答案