2016-10-14 4 views
-2
でリストを超えるバリアント

は私が正の整数の任意のリストを持ってみましょう:の生成は、Python

1111, ..., 1115, 1121, ..., 1125, ... 1135, 1235, 2235. 

どうすればよいですか?ここ

+0

あなたは何を意味するかの変種? –

+0

1はどこから来たのですか? – Mureinik

+0

どのようにして '1111'は' [2、2、3、5] 'の" variant "ですか? – John1024

答えて

0
import itertools 
itertools.product(range(1,3), range(1,3), range(1,4), range(1,6)) 

ドキュメント:https://docs.python.org/3/library/itertools.html#itertools.product

より一般的な解決策:

itertools.product(*[range(1, n+1) for n in list_nums]) 
+0

Python 3ではiteratorを生成しますか? – volcano

+0

@ volcanoはそれが質問ですか、異論ですか?はい、Python 3では、これはジェネレータである 'itertools.product'オブジェクトを生成します。私はそれがPython 2で同様のことをすると思う。 –

+0

問題は、私が任意のリストでそれをしなければならないということです。 –