2012-10-08 10 views
21

संभव डुप्लिकेट:
Ternary conditional operator in Python`वापसी के लिए पायथनिक तरीका (मूल्य == 'ठीक है')? 'ठीक है': 'NOK' `

मैं इस समस्या है और इस के लिए गूगल पूछने के लिए पता नहीं है:

(value == 'ok') ? 'ok' : 'not ok'

मेरा मतलब है कि व्याकरण के साथ:

(expression) ? (return if <expresion> is true) : (return this value if <expresion> is false 
+7

एक नोट के रूप में, यह एक 'त्रिगुट ऑपरेटर' कहा जाता है। –

+0

मुझे "-1" क्यों मिला? – WBAR

+0

सी में, इसे "टर्नरी ऑपरेटर" के नाम से जाना जाता है, गुगलिंग 'पायथन टर्नरी ऑपरेटर' आपको इंगित करेगा कि आप कहां जाना चाहते हैं। – mgilson

उत्तर

30

आसान peasy:

'String ok' if value == 'ok' else 'String nok' 

यह एक conditional expression है।

+2

भी एक टर्नरी अभिव्यक्ति के रूप में masquerades। – bossylobster

+18

हालांकि "सशर्त अभिव्यक्ति" इसके लिए एक बेहतर नाम है। सी "टर्नरी ऑपरेटर" में भी एक सुंदर बेवकूफ नाम है; यह '+' "बाइनरी ऑपरेटर" को कॉल करने जैसा है। – Ben

11

इस मामले के बारे में कैसे:

{True: 'String ok', False: 'String nok'}[value == 'ok'] 

* गंभीरता से न लें :)

+8

यह 'if else' वाक्यविन्यास जोड़ने से पहले इसे करने का पुराना तरीका था। लेकिन मैं इसे एक ट्यूपल के साथ देखता था क्योंकि एक बूल 0 या 1: '(' ठीक नहीं ',' ठीक ') [मूल्य == "ठीक है]] ' – jdi

+0

@jdi जो अभी भी प्रचलित अभ्यास है (गैसपी) * कोड गोल्फ * – Cyoce

संबंधित मुद्दे