は、私が機能を持っていると仮定します。どの割り当てを使用する必要がありますか?Pythonで多出力関数の出力を無視する方法はありますか?</p> <pre><code>def f(): ... ... ... return a,b,c </code></pre> <p>と私は、関数の出力にのみBを取得したい:
ありがとうございました。
は、私が機能を持っていると仮定します。どの割り当てを使用する必要がありますか?Pythonで多出力関数の出力を無視する方法はありますか?</p> <pre><code>def f(): ... ... ... return a,b,c </code></pre> <p>と私は、関数の出力にのみBを取得したい:
ありがとうございました。
あなたは、いくつかのダミー変数に返されたタプルを解凍することができます:それは、明らかに使用されていないだけで何か_
である必要はありません
_, keep_this, _ = f()
。
(対話インタプリタにダミーの名前として_
使用しないでください、そこは最後の結果を保持するために使用されます。)また
、インデックス返さタプル:
keep_this = f()[1]
return a,b,c
の行は、tuple
を作成してから関数から戻しています。したがって、タプル分解を使用して、結果から必要な値だけを取得することができます。例:ここ
def f(x):
return x, x + 1, x + 2
_, b, _ = f(0)
print(b) # prints "1"
def f():
return 1,2,3
は、f()
ので、あなたはこのような何かを行うことができます(1,2,3)
タプルを返します:
a = f()[0]
print a
1
a = f()[1]
print a
2
a = f()[2]
print a
3
は数秒でそれを私にビート!ああ! – feralin
ダミー変数のドキュメントが見つかりません。どんな助け? – Cupitor
@ Naji基本的には、コードは3つの変数にタプルの3つの部分を割り当てます。単一のアンダースコアは有効な変数名であり、1回の構造化割り当てで複数回割り当てることができます。その割り当てが完了すると、タプルの中の値に等しいkeep_thisと(もし正しいとすれば)タプルの最後の値と等しい_の2つの変数があります。あなたは、より多くを学ぶために、構造の割り当てを調べるべきです。 – feralin