ホームページ > バックエンド開発 > Python チュートリアル > Python でリスト要素の可能なすべての組み合わせを効率的に生成するにはどうすればよいですか?

Python でリスト要素の可能なすべての組み合わせを効率的に生成するにはどうすればよいですか?

DDD
リリース: 2024-12-20 03:24:12
オリジナル
342 人が閲覧しました

How to Efficiently Generate All Possible Combinations of List Elements in Python?

リスト要素の可能なすべての組み合わせの生成

この問題は、与えられたリストから要素の可能なすべての組み合わせを生成する必要があることから発生します。その長さ。 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート