如何从一组列表中获取笛卡尔积(每种可能的值组合)?
输入:
somelists = [
[1, 2, 3],
['a', 'b'],
[4, 5]
]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[(1, 'a', 4), (1, 'a', 5), (1, 'b', 4), (1, 'b', 5), (2, 'a', 4), (2, 'a', 5) ...]
Run Code Online (Sandbox Code Playgroud) a = [5,7,3,1,2]
for i in a:
for j in a:
if(i==j):
continue
else:
print(i,j)
print("")
Run Code Online (Sandbox Code Playgroud)
输出:
5 7
5 3
5 1
5 2
7 5
7 3
7 1
7 2
3 5
3 7
3 1
3 2
1 5
1 7
1 3
1 2
2 5
2 7
2 3
2 1
Run Code Online (Sandbox Code Playgroud)
我的代码只显示所有值,但会跳过匹配的值,但是如果我想要显示已打印的值,如果打印了值(5,7),则不应再次打印为(7,5).一旦打印了值5 7以便下一次迭代,它就不应该显示7 5,这应该发生在数组中的所有值.请有人帮助我.谢谢.如果有重复的问题,请指导我这个问题.