2009-08-27 13 views
14

स्ट्रिंग पर पाइथन में स्ट्रिंग सेट करने के लिए एक-लाइनर कोड क्या है, यदि स्ट्रिंग खाली है तो 0 स्ट्रिंग को 0 स्ट्रिंग सेट करने के लिए एक-लाइनर पायथन कोड?रिक्त

# line_parts[0] can be empty 
# if so, set a to the string, 0 
# one-liner solution should be part of the following line of code if possible 
a = line_parts[0] ... 
+0

@biznez भूलें कि आप एक उत्तर स्वीकार कर सकते हैं। –

+0

मैं कहूंगा: * एक जवाब स्वीकार करना चाहिए। लोगों ने आपकी तरफ से प्रयास करने के बाद ही यह विनम्र है। –

+0

क्या आपका मतलब स्ट्रिंग खाली है (मतलब लंबाई शून्य की स्ट्रिंग) या ** कोई नहीं **? –

उत्तर

59
a = line_parts[0] or "0" 

यह सबसे अच्छा अजगर मुहावरों में से एक, यह आसान मूलभूत मूल्यों प्रदान करने के लिए कर रही है। इसे अक्सर कार्यों के डिफ़ॉल्ट मानों के लिए इस तरह प्रयोग किया जाता है:

def fn(arg1, arg2=None): 
    arg2 = arg2 or ["weird default value"] 
+1

+1 मैंने कुछ नया सीखा। –

+5

स्पष्टीकरण के लिए, यदि यह नेड के उत्तर से स्पष्ट नहीं था: जब तारों की बात आती है, तो खाली स्ट्रिंग हमेशा गलत पर मूल्यांकन करती है, और एक गैर-खाली स्ट्रिंग हमेशा सत्य का मूल्यांकन करती है - यही कारण है कि 'या' इस स्थिति में पूरी तरह से काम करता है । –

+6

इसका उपयोग करते समय, सुनिश्चित करें कि आप कभी भी 'arg2' 0 या 0' होने की अपेक्षा नहीं करते हैं .. –

11
a = '0' if not line_parts[0] else line_parts[0] 
+7

अधिक स्पष्ट होगा: a = line_parts [0] यदि line_parts [0] else '0' – recursive

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