首页 > 解决方案 > Python中的列表组合

问题描述

比如说,我有 9 个圆圈,每个圆圈包含数千个离散点(坐标)。

我想写一个矩阵,其中圆 1 点属于第一行,圆 2 点属于第二行,依此类推。

如何找到此类矩阵行的所有可能组合,例如:

有没有更好的方法来做到这一点,而不是有 9 个嵌套循环并将矩阵附加到一个列表中,其中每个矩阵都是一个列表,矩阵中的每一行也是一个列表?

谢谢!

更新 我会尽量让自己更清楚。

说,我有一个列表,每个元素的每个元素都是一个列表,其中包含相应圆圈中的坐标。

[[x1,y1],[x2,y2],[x3,y3]] = [ [[1,2],[3,4]], [[5,6],[7,8]], [ [9,10],[11,12]] ]

其中 x1, y1 是圆 1 中点的坐标。在这种情况下,只有 3 个圆,每个圆只包含 2 个点。

现在我想制作一个矩阵,其中行对应于圆,列对应于坐标(第 1 列是 x,第 2 列是 y)。

我想要所有可能的点组合,以便得到如下矩阵:

可能性1:[[1,2],[5,6],[9,10]]

可能性2:[[3,4],[7,8],[11,12]]

可能性 3:[[1,2]、[7,8]、[9,10]]

可能性4:[[3,4],[5,6],[11,12]]

等等

请注意,第 n 行始终对应于第 n 圈。如何找到这种形式的所有可能的矩阵组合?

(实际上我需要解决球坐标中的线性规划问题,但我希望我能很好地简化问题。如果你愿意,我可以画一张图)

标签: pythonlistfor-loopmatrixcombinations

解决方案


推荐阅读