[Python]可変長引数をとる関数にリストの中身を渡す
Pythonの可変長引数は、引数に*をつける。すると、渡した引数はタプル型の変数に格納される。
で、この関数にリストを渡すと、
リスト全体が引数の1つとして扱わる。
リストの中身を展開して渡したい場合、渡すリストに*をつける。
参考:
http://blog.taikomatsu.com/2009/03/13/python-%E5%8F%AF%E5%A4%89%E9%95%B7%E5%BC%95%E6%95%B0%E3%81%82%E3%82%8C%E3%81%93%E3%82%8C/
>>> def foo(*args): print args >>> foo(1, 2, 3, 4) (1, 2, 3, 4) >>> foo('a', 'b') ('a', 'b')
で、この関数にリストを渡すと、
>>> foo([2, 4, 6]) ([2, 4, 6],)
リスト全体が引数の1つとして扱わる。
リストの中身を展開して渡したい場合、渡すリストに*をつける。
>>> foo(*[2, 4, 6]) (2, 4, 6)
参考:
http://blog.taikomatsu.com/2009/03/13/python-%E5%8F%AF%E5%A4%89%E9%95%B7%E5%BC%95%E6%95%B0%E3%81%82%E3%82%8C%E3%81%93%E3%82%8C/
コメント
コメントを投稿