我有以下数组points
的形状(3,3)
,它们是3D点
[[-0.20592405 0.33034652 1.0430001 ]
[-0.23757319 0.29612657 1.03800011]
[-0.304515 0.34571081 1.20400012]]
我需要找到这三点的所有组合。我正在做以下工作:
comb = np.array(list(itertools.product(points.tolist(), repeat=3)))
我得到
[[[-0.20592405 0.33034652 1.0430001 ]
[-0.20592405 0.33034652 1.0430001 ]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.20592405 0.33034652 1.0430001 ]
[-0.23757319 0.29612657 1.03800011]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.20592405 0.33034652 1.0430001 ]
[-0.304515 0.34571081 1.20400012]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.23757319 0.29612657 1.03800011]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.23757319 0.29612657 1.03800011]
[-0.23757319 0.29612657 1.03800011]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.23757319 0.29612657 1.03800011]
[-0.304515 0.34571081 1.20400012]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.304515 0.34571081 1.20400012]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.304515 0.34571081 1.20400012]
[-0.23757319 0.29612657 1.03800011]]
[[-0.20592405 0.33034652 1.0430001 ]
[-0.304515 0.34571081 1.20400012]
[-0.304515 0.34571081 1.20400012]]
[[-0.23757319 0.29612657 1.03800011]
[-0.20592405 0.33034652 1.0430001 ]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.23757319 0.29612657 1.03800011]
[-0.20592405 0.33034652 1.0430001 ]
[-0.23757319 0.29612657 1.03800011]]
[[-0.23757319 0.29612657 1.03800011]
[-0.20592405 0.33034652 1.0430001 ]
[-0.304515 0.34571081 1.20400012]]
[[-0.23757319 0.29612657 1.03800011]
[-0.23757319 0.29612657 1.03800011]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.23757319 0.29612657 1.03800011]
[-0.23757319 0.29612657 1.03800011]
[-0.23757319 0.29612657 1.03800011]]
[[-0.23757319 0.29612657 1.03800011]
[-0.23757319 0.29612657 1.03800011]
[-0.304515 0.34571081 1.20400012]]
[[-0.23757319 0.29612657 1.03800011]
[-0.304515 0.34571081 1.20400012]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.23757319 0.29612657 1.03800011]
[-0.304515 0.34571081 1.20400012]
[-0.23757319 0.29612657 1.03800011]]
[[-0.23757319 0.29612657 1.03800011]
[-0.304515 0.34571081 1.20400012]
[-0.304515 0.34571081 1.20400012]]
[[-0.304515 0.34571081 1.20400012]
[-0.20592405 0.33034652 1.0430001 ]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.304515 0.34571081 1.20400012]
[-0.20592405 0.33034652 1.0430001 ]
[-0.23757319 0.29612657 1.03800011]]
[[-0.304515 0.34571081 1.20400012]
[-0.20592405 0.33034652 1.0430001 ]
[-0.304515 0.34571081 1.20400012]]
[[-0.304515 0.34571081 1.20400012]
[-0.23757319 0.29612657 1.03800011]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.304515 0.34571081 1.20400012]
[-0.23757319 0.29612657 1.03800011]
[-0.23757319 0.29612657 1.03800011]]
[[-0.304515 0.34571081 1.20400012]
[-0.23757319 0.29612657 1.03800011]
[-0.304515 0.34571081 1.20400012]]
[[-0.304515 0.34571081 1.20400012]
[-0.304515 0.34571081 1.20400012]
[-0.20592405 0.33034652 1.0430001 ]]
[[-0.304515 0.34571081 1.20400012]
[-0.304515 0.34571081 1.20400012]
[-0.23757319 0.29612657 1.03800011]]
[[-0.304515 0.34571081 1.20400012]
[-0.304515 0.34571081 1.20400012]
[-0.304515 0.34571081 1.20400012]]]
这给了我所有的组合,但我想放弃重复的组合。那么,让我们假设3D点a
,b
,c
我得到的组合[[a, a, a], [a, a, b],..,[a, b, c],.., [c, c, c]]
。我只想保留具有所有不同点的组合,即[a, b, c]
、[b, c, a]
等
对于
itertools.combinations
,只有一个:与
itertools.permutations
一起:comb
的值:相关问题 更多 >
编程相关推荐