def foo(a, b, c):
print a+b+c
i = [1,2,3]
私は明示的なインデックスなしでfoo(i)を呼び出す方法はありますか? はFOOを避けるためにしよう(私は、[0]、私は[1]、私は[2])関数の引数よりもリストを爆発させる方法がありますか?
def foo(a, b, c):
print a+b+c
i = [1,2,3]
私は明示的なインデックスなしでfoo(i)を呼び出す方法はありますか? はFOOを避けるためにしよう(私は、[0]、私は[1]、私は[2])関数の引数よりもリストを爆発させる方法がありますか?
はい、foo(*i)
を使用します。
>>> foo(*i)
6
また、関数定義で*
を使用することができます。 def foo(*vargs)
はvargs
と呼ばれるタプルにすべての非キーワード引数を置きます。 。 および例えばため**
の使用、def foo(**kargs)
は、kargs
と呼ばれる辞書にすべてのキーワード引数を置く:
>>> def foo(*vargs, **kargs):
print vargs
print kargs
>>> foo(1, 2, 3, a="A", b="B")
(1, 2, 3)
{'a': 'A', 'b': 'B'}
はい、Pythonがあることをサポートしています。
foo(*i)
はUnpacking Argument Lists上のドキュメントを参照してください。反復可能なもので動作します。 2つの星で**
それはdictsと名前付き引数のために働く。
def bar(a, b, c):
return a * b * c
j = {'a': 5, 'b': 3, 'c': 2}
bar(**j)
+1ゲームの名前を削除します。実際には、これはどんな言語でもこのことをGoogleに助けます。どうもありがとう。 –
何度も関数定義で使用されていますので、呼び出すときに使用してください...私のpython head guysを元に戻していただきありがとうございます。 – rutherford