我有一个元组列表,例如:
A=[(1,2,3), (3,5,7,9), (7)]
Run Code Online (Sandbox Code Playgroud)
并希望从每个元组中生成一个项目的所有排列.
1,3,7
1,5,7
1,7,7
...
3,9,7
Run Code Online (Sandbox Code Playgroud)
我可以有任意数量的元组,元组可以有任意数量的元素.我不能使用itertools.product()因为python 2.5.
是否有一种简短/惯用的方法来迭代集合中的每对元素?
更好的是迭代集合的所有固定基数子集的方法。
经典而丑陋的方法是:
val s = setOf(1, 2, 3, 4)
for (i in s) {
for (j in s) {
if (i != j) {
println("$i $j")
}
}
}
Run Code Online (Sandbox Code Playgroud)
为了拥有更大的子集,需要更多的循环,因此这是不可扩展的。