MM们
如果我稍微分解一下那行代码,我可以告诉你会发生什么。下一行是一个列表理解,它说返回IwhereI被设置为列表 [2,4,6] 中的每个数字。这将返回一个看起来像 的列表[2,4,6]。所以这基本上是无用的,因为你没有操纵你的原始列表。[I for I in [2,4,6]]当你把它放在里面时,np.array()它只会从你的列表中创建一个数组。现在使用以下代码,您将遍历 2-5 范围内的每个数字,不包括 5(5 是 I+3)for i in range(2,5): print(i)234你也可以这样做for i in range(2,5): print(np.array([range(2,4)])) [[2 3]][[2 3]][[2 3]]这是一个执行 3 次的循环,并打印一个包含 2-4 范围的数组。当你把所有东西结合起来[range(I, I+3) for I in [2,4,6]]您是说列表中的每个数字[2,4,6]返回从该数字到该数字 + 3 的范围并将其放入列表中,该列表返回[range(2, 5), range(4, 7), range(6, 9)]然后将其转换为数组以获取array([[2, 3, 4], [4, 5, 6], [6, 7, 8]])