40362


連投になります。[前の質問](https://ja.stackoverflow.com/q/40343/19110)と関連していることなのですが、  
`[[0, 1, 2], [0, 1, 2]]`のようなリストがあったとして、  
これを、`itertools.product(*iterables)`に入れる。  
このままだと、`[0,1,2]`と`[0,1,2]`は別別にいれなければ  
ならない、あるいは私はこの方法しか知りません。

このままだと、2つだから、インデックスを2つ指定すれば  
いいんじゃないかと思われるかもしれませんが、例えば、  
上のリストがどのような内容であっても、同様に行いたい。  
事前にリストの長さはわからないものとします。

一気にすべての要素を引数に入れたいのですが、  
そのような方法は可能でしょうか？

環境: python 3.6.3


CC BY-SA 3.0
2017-12-18T12:49:13.777
40361
2017-12-18T13:18:41.547
2017-12-18T13:18:41.547
19110
24284
question
python
リストの中身をそのまま引数とする方法


以下のように書けます

[code]

    >>> import itertools
    >>> list(itertools.product([0, 1, 2], [0, 1, 2]))
    [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
    
    >>> list(itertools.product(*[[0, 1, 2], [0, 1, 2]]))
    [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
    
    >>> iterables = [[0, 1, 2], [0, 1, 2]]
    >>> list(itertools.product(*iterables))
    [(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
    
[/code]

`*` の使い方は以下のドキュメントにあります。  
<https://docs.python.org/ja/3/tutorial/controlflow.html#unpacking-argument-
lists>


CC BY-SA 3.0
2017-12-18T13:18:06.693
40362
2017-12-18T13:18:06.693
806
40361
answer