我已经使用itertools包中的组合功能生成了一个元组列表。如何将其传递给整数列表以对其进行切片?这是我的示例代码,但是由于元组而给我一个错误:
from itertools import combinations
myNumbers = [12,4,5,6,7,9,3,2]
listOfIndexes = list(range(8))
comb = combinations(listOfIndexes, 3)
for i in list(comb):
print(myNumbers[int(i)])
我的预期输出是打印myNumbers中3个数字的所有组合,例如:
12,4,5
4,5,6
5,6,7
...
最佳答案
这有效:
from itertools import combinations
myNumbers = [12,4,5,6,7,9,3,2]
listOfIndexes = list(range(8))
comb = combinations(listOfIndexes, 3)
for i in list(comb):
a,b,c = myNumbers[i[0]], myNumbers[i[1]], myNumbers[i[2]]
print(a,b,c)
...但是据我所知,上面的代码只是以一种不太有效的方式做到这一点:
print([i for i in combinations(myNumbers, 3)])