2012-04-13 10 views
4

itertools.productを使用して可変数のリストを組み合わせるモジュールを作成しようとしています。可変数の引数を持つPython itertools.product

私が得ることができる最も近いです:

import itertools 
lists = [["item1","item2"],["A","b","C"], ["etc..."]] 
searchterms = list(itertools.product(lists)) 
print searchterms 

これは動作しません、リストは単一のリストなので、それだけで元のシーケンスを返すため。しかし、リスト変数の各要素をitertoolsに渡す方法を理解することはできません。

ありがとうございます。

答えて

14

あなたは、その構成要素リストに単一のリストを区切るために*を使用する必要があります。

searchterms = list(itertools.product(*lists)) 

Unpacking Argument Lists上のPythonのチュートリアルを参照してください。

+0

ありがとうございます! * varのドキュメントはどこにありますか? – ralph346526

+1

@ ralph346526私は自分の編集でそれを追加しました。 – agf

関連する問題