我想生成列表[[1,2,3],[4,5,6]]
的列表
我附加了一些python代码,但我不知道在效率方面应该选择什么:
[[y + x for x in range(3)] for y in [1,4]]
[[y for y in range(z, z + 3)] for z in [1,4]]
[[y, y + 1, y + 2] for y in [1,4]]
它们都生成所需的列表,但是我对它们的编写方式感到不满意(因为它们都依赖于从列表[1,4]中获取值),并且考虑到我只是Python语言的初学者。你能给我推荐一个生成所需列表的好方法吗?谢谢你
[[y + x for x in range(3)] for y in [1,4]]
在这段代码中,给出值4并不是最好的方法,因为要打印像这样的列表
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21], [22, 23, 24], [25, 26, 27], [28, 29, 30]]
你可能需要写
[[y + x for x in range(3)] for y in [1,4,7,10,13,16,19,22,25,28]]
不是一个简单和通用的代码。你可以写
[[ x for x in range(y,y+3)] for y in range(1,6,3)]
或
[[ x for x in range(y,y+3)] for y in range(1,n,3)]