理解python列表理解的奇怪行为

时间:2016-10-25 16:56:37

标签: python list

我刚刚调试了我的代码并将问题追溯到列表理解。该代码的结果让我困惑,有人可以向我解释为什么会发生这种情况吗?

拿这段代码:

random.seed(100)

seeds = [random.randint(0, 10000) for i in range(1, 51)]

feature_functions = [lambda image: random_voxel.random_voxel(image, seed) for seed in seeds]

它应该使用不同的种子从相同的函数生成50个函数。但是,结果列表中的每个lambda都使用来自'种子'的最后一个种子作为种子。有人可以解释为什么会这样吗?

例如,

    [种子中的种子种子] 很好地打印种子。

0 个答案:

没有答案