我有一个元素列表[1,2,3,4,5],我想逐个生成组合,如[1,2,3],[2,4,5]等。< / p>
我尝试使用itertools.combinations,但这会列出所有可能的组合,这会占用太多的内存空间。
如何在生成时正确访问每个新组合?
答案 0 :(得分:2)
如何在生成时正确访问每个新组合?
使用for
循环,如下所示:
import itertools
for a, b, c in itertools.combinations(range(1, 101), 3):
if a**2 + b**2 == c**2:
print(a, b, c)
itertools.combinations
列出所有可能的组合
不,它没有。
itertools.combinations()
是http://ruby-doc.org/core-2.4.0/Thread.html。在for
循环中使用时,一次只返回一个结果。所有结果都没有list
。