Pythonで関数にリストを渡したい。
このようなときは、どうすればよいでしょうか。
実は、容易にできます。
Pythonの関数
Pythonでは、関数をdefブロックで定義します。括弧内に引数を指定し、return文で戻り値を指定します。
リストを引数にしたいときは、定義したリストをそのまま引数に指定してあげればよいです。
例
def func(list):
print(type(list))
abc=["A","B","C"]
func(abc)
実行結果
<class 'list'>
関数funcにリストabcが渡されていることがわかると思います。
関数呼び出し時に可変長引数 である、*変数名(アスタリスク+変数名)にすると リストを展開して、関数に渡します。
例
def func(a1,a2,a3):
print(a1)
print(a2)
print(a3)
num = [ 1, 2, 3 ]
func(*num)
実行結果
1
2
3
タプルになる!?
引数を可変長引数である、*変数名(アスタリスク+変数名)にすると、
リストで定義しても、渡した際にタプルになるため、注意が必要です。
例
def func(*list):
print(type(list))
abc=["A","B","C"]
実行結果
<class 'tuple'>