Python 関数(def)でリストを渡したい

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'>