पर मूल्यांकन करता है मेरे पास कुछ चर हैं और मैं सत्य का मूल्यांकन करने वाले पहले व्यक्ति को चुनना चाहता हूं, या फिर डिफ़ॉल्ट मान वापस कर सकता हूं।सही चर का चयन करने के लिए पाइथोनिक तरीका जो सही
उदाहरण के लिए मैं a
, b
, और c
है। मेरे मौजूदा कोड:
result = a if a else (b if b else (c if c else default))
एक और दृष्टिकोण मैं विचार कर रहा था:
result = ([v for v in (a, b, c) if v] + [default])[0]
लेकिन वे दोनों गंदा लग रहा है, तो वहाँ एक और अधिक pythonic तरीका है?
मुझे "पायथनिक" के बारे में पता नहीं है लेकिन मुझे पहले पसंद है। अच्छा और lispy और पढ़ने के लिए आसान :) – mtvee
आपका मतलब "परिभाषित" कैसे है? यदि बी अपरिभाषित है, उदाहरण के लिए, तो आपको एक नाम त्रुटि मिल जाएगी। आपका कोड जांचता है कि चर को परिभाषित किया गया है लेकिन खाली/शून्य/गलत है। –
ध्यान दें कि पायथन में आप चर परिभाषित नहीं करते हैं, आप ऑब्जेक्ट्स पर नाम बांधते हैं। –