5

func()2つの引数を取る関数があるaとしましょうbmylist代わりに両方の値を持つ単一のリストを関数に渡すためのPythonのある種のテクニックはありますか?

def myfunc(a, b):
    return a+b

myfunc([1, 2])

彼が常に同じ関数を呼び出していることを完全に確信していて、それが取る引数の数を知っている場合は、次のようなことを行うことができます。

mylist = [1, 2]
a, b = mylist

myfunc(a, b)

しかし、特定の関数にフィードする必要のあるリストがあり、それぞれに異なる量の引数がある場合はどうでしょうか。関数ごとに別々のコード行を記述して、リストを変数に解凍し、対応する関数に渡すことができますが、Pythonに、個々の引数値の代わりに単一のリストを渡すための組み込みのコードがある場合(事前に確認しておく場合)リストには対応する量の値があります)、それははるかに見栄えが良く、最も重要なことに、必要なコード行がはるかに少なくなります。

4

2 に答える 2

8

*リストを引数に解凍するために使用できます:

myfunc(*mylist)
于 2012-06-16T14:48:49.097 に答える
4
def myfunc(a, b):
    return a+b

mylist = [1, 2]
myfunc(*mylist)

ここでは、長さ2の、などを指定mylistできます。listtuplestring

于 2012-06-16T14:49:19.480 に答える