2011-08-03 1 views
5

のようなカンマ演算子を持っています(そしてC言語の言語)。(4+7, 5+2)7を返します。しかしPythonの同じ表現はタプルになります(11, 7)pythonはCの

それでは、PythonにはCのようなコンマ演算子がありますか?

+5

いいえ、本当の疑問はなぜあなたが1つを望むのかです。 –

+3

美しいものは醜いよりも優れています。 疎は密度よりも優れています。 可読性はカウントされます。 –

+1

Pythonに無用なカンマ演算子がある場合、私はPythonがそれ以上読めるとは考えていません。 –

答えて

7

あなたはそれを置き換えるために、このようなものを使用する必要があります。

comma_operated = (4+7, 5+2)[-1] 

が、コメントで正しく述べたように、なぜあなたはそれだろうか?これはCまたはC++ではあまり使用されておらず、その理由があります。

+1

nice :) 実際には、リストの理解をデバッグすると便利です。理解の中でプリントを実行して、何が起こっているのかを確認できます –

5

AFAIK、no。あなたは常に1つではなく2つの線を使ってこれをシミュレートすることができます。 :-)

x = (call_one(), call_two()) 

# is almost the same as 

call_one() 
x = call_two() 

# or 
x = (call_one(), call_two())[1]