複数のリストからデカルト積を生成する
複数のリストのデカルト積を取得し、値のすべての可能な組み合わせが生成されるのは、一般的な方法です。プログラミングにおけるタスク。 Python 2.6 以降で利用できる強力な Python モジュールである itertools.product を使用すると、この目標を簡単に達成できます。
itertools.product を使用するには、結合したいリストを引数として指定するだけです。たとえば、次のリストのセットがあるとします。
somelists = [ [1, 2, 3], ['a', 'b'], [4, 5] ]
次のようにデカルト積を取得できます。
import itertools for element in itertools.product(*somelists): print(element)
このコードは、入力リストから値の可能なすべての組み合わせを効果的に生成します。 。出力は次のようになります:
(1, 'a', 4) (1, 'a', 5) (1, 'b', 4) (1, 'b', 5) (2, 'a', 4) (2, 'a', 5) ...
また、リストが個別の引数として明示的に渡された場合、コードは次のようになります。
for element in itertools.product([1, 2, 3], ['a', 'b'], [4, 5]): print(element)
itertools.product の柔軟性を利用することにより、を使用すると、入力データがネストされたリストやさまざまな長さのリストで構成される複雑なケースを簡単に処理できます。
以上がPython で複数のリストのデカルト積を効率的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。