2011-02-01 11 views
2

MATLABでは、タプルを返し、Pythonで同じようにタプルの値をタプルに割り当てることができます。 MATLABでは、関数が何にも割り当てたくない値を返した場合は、特殊変数~に代入します。 2bへと1何もPythonで 'No write'変数

~, b = f() 

割り当てられます。たとえば、その後、タプル(1, 2)を返すf()機能を、と言います。

これに相当するのはPythonですか?

a, b = f() 

aの値を無視するが、私は完全にaへの割り当てをスキップ好む:私はちょうど行うことができます理解しています。機能の書き換えf()はオプションではありません。

私のPythonの用語が間違っている場合はお詫び申し上げます。

+0

どちらのソリューションは良いですが、私は私が欲しいものを決定するためにいくつかの時間がかかるでしょう。高速応答ありがとう:) –

+0

への割り当てはかなり些細です。あなたは本当に何も保存していません。 – Falmarri

答えて

13

Pythonの共通のイディオムは、この目的で_を使用することです。

しかし、この変数はインタラクティブなインタプリタで最後の結果にも使用され、この有用な機能が動作しなくなるので、必ずしも良い考えではありません。

_も、文字列の変換に使用されることがあります。 gettextである。

+0

+1と同じ答えを書いてください:)。 – utdemir

+4

pylintは、 'dummy'という名前に割り当てると未使用の変数については不平を言いません。もう一つの共通の選択肢です。 –

+0

これはMATLABの 'ans'変数と同等でなければなりません(最近のバージョンでは'〜 'が導入される前の共通のものでした) – Amro

10

代わりに、あなたは常にだけでタプルの一部を返すことができ、に興味があります:

b = f()[1] 
+0

私は索引付けを避けたいと思っていました。なぜなら、読みにくいと感じているからですが、確かに解決策です。 –

+0

はい、私は同意する、それは素晴らしい解決策ではありません。 – miku

+0

これは私が使用したい解決策です。私はそれがあまり読みやすさを減らすとは思わない。それはかなり一般的でpythonicです。 –