这可用于创建输出[[0,0],[1、1],[2、2],[0、0],[1、1],[2、2],[0、0 ],[1、1],[2、2]]:
[[k%3 for i in range(2)]for j in range(3) for k in range(3)]
这可用于创建输出[[0,0],[0,0],[0、0],[1、1],[1、1],[1、1],[2、2 ],[2、2],[2、2]]:
[[j for i in range(2)]for j in range(3) for k in range(3)]
现在,由于我的目标是获取如下所示的输出:[[0,0],[0,1],[0,2],[1,0],[1、1],[1 ,2],[2、0],[2、1],[2、2]]
我尝试了以下操作,但出现错误:
[[j,k%3 for i in range(2)]for j in range(3) for k in range(3)]
错误是:
[[j,k%3 for i in range(2)]对于j in range(3)对于k in range(3)]
SyntaxError:语法无效
答案 0 :(得分:3)
您可以将其创建为元组:
[[(j,k%3) for i in range(2)]for j in range(3) for k in range(3)]
输出如下:
>>> [[(j,k%3) for i in range(2)]for j in range(3) for k in range(3)]
[[(0, 0), (0, 0)], [(0, 1), (0, 1)], [(0, 2), (0, 2)], [(1, 0), (1, 0)], [(1, 1), (1, 1)], [(1, 2), (1, 2)], [(2, 0), (2, 0)], [(2, 1), (2, 1)], [(2, 2), (2, 2)]]
编辑:
OP发布的预期输出:
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]
实现此目的的代码:
[[j,k] for j in range(3) for k in range(3)]
答案 1 :(得分:2)
如果预期结果是
[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2], [2, 0], [2, 1], [2, 2]]
您只需要的imo
[[i, k] for i in range(3) for k in range(3)]