我刚刚调试了我的代码并将问题追溯到列表理解。该代码的结果让我困惑,有人可以向我解释为什么会发生这种情况吗?
拿这段代码:
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都使用来自'种子'的最后一个种子作为种子。有人可以解释为什么会这样吗?
例如,[种子中的种子种子] 很好地打印种子。