リスト要素の可能なすべての組み合わせの生成
この問題は、与えられたリストから要素の可能なすべての組み合わせを生成する必要があることから発生します。その長さ。 10 進整数をループしてバイナリ フィルタリングを適用することは妥当な解決策ですが、より効率的なアプローチもあります。
1 つの方法には、itertools モジュールを利用することが含まれます。このアプローチでは、考えられるすべての長さを反復処理することで、combinations() 関数を使用して組み合わせを生成します。
import itertools stuff = [1, 2, 3] for L in range(len(stuff) + 1): for subset in itertools.combinations(stuff, L): print(subset)
代替のより簡潔な解決策は、一連の Combination() ジェネレーターを生成し、それを反復処理することです。
from itertools import chain, combinations def all_subsets(ss): return chain(*map(lambda x: combinations(ss, x), range(0, len(ss)+1))) for subset in all_subsets(stuff): print(subset)
このメソッドは、リスト要素の長さに関係なく、リスト要素の考えられるすべての組み合わせを効果的に生成し、問題に対する包括的な解決策を提供します。
以上がPython でリスト要素の可能なすべての組み合わせを効率的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。