使用列表理解创建 2 数字元组列表,其中所有可能的对最多为 N

CIs*_*ies 1 python list-comprehension

我想创建一个2 数字元组的列表-(0,0) , (0,1) , ... (0,N-1) , (1,0) ... (N-1,N-1)使用列表理解。

我使用了这样的东西:[(x,y) for x in range(3) for y in range(x)]其中 3 是我的N,但这显然不起作用(输出[(1, 0), (2, 0), (2, 1)])。

我可以这样做

l = []
for x in range(3):
    for y in range(3):
        l += [(x,y)]
Run Code Online (Sandbox Code Playgroud)

但我怎样才能用一句话构建我想要的列表呢?

编辑列表理解迭代边界中显然存在一个错误,这让我感到困惑。将其更改为就[(x,y) for x in range(3) for y in range(3)]可以解决它。谢谢并抱歉

Mat*_*hew 6

你可以这样做

[(x,y) for x in range(3) for y in range(3)]
Run Code Online (Sandbox Code Playgroud)

  • 请注意,在第二个“范围”中使用 *3* 代替 *x*。这是问题描述中第一个示例的问题。 (2认同)