यदि/अन्यथा के साथ सूची समझ: सिंटेक्स और उपयोग
पायथन में सूची समझ के साथ काम करते समय, अगर/और तर्क को शामिल करने का सामना करना पड़ता है सशर्त संचालन को संभालने के लिए। यह आलेख ऐसे परिदृश्यों के लिए सही सिंटैक्स को संबोधित करता है।
एक सामान्य कार्य स्रोत अनुक्रम के आधार पर एक सूची बनाना है, जिसमें निम्नलिखित फॉर-लूप के साथ if/else निर्माण होता है:
results = [] for x in xs: results.append(f(x) if x is not None else '')
यदि x कोई नहीं है तो यह कोड परिणाम सूची में '' जोड़ता है, और अन्यथा f(x) की गणना करता है। वांछित परिणाम सूची समझ का उपयोग करके भी प्राप्त किया जा सकता है, लेकिन वाक्यविन्यास में आवश्यक समायोजन के साथ:
results = [f(x) if x is not None else '' for x in xs]
मुख्य अंतर सूची समझ के भीतर यदि और अन्य खंडों के क्रम में है। सही वाक्यविन्यास के लिए if खंड को for भाग से पहले रखना आवश्यक है, उसके बाद else खंड। (x) यदि अनुक्रम में x के लिए अन्यथा शर्त g(x)]
सूची समझ के लिए केवल यदि स्रोत अनुक्रम से तत्वों को फ़िल्टर करने की शर्तें शामिल हैं, तो वाक्यविन्यास है:
[f(x) if condition else g(x) for x in sequence]
ध्यान दें कि सूची समझ के if/else वाक्यविन्यास में उपयोग किए जाने वाले सशर्त अभिव्यक्ति, इसके लिए नियोजित if निर्माण से अलग हैं छानना. सशर्त अभिव्यक्तियाँ किसी स्थिति के आधार पर दो अभिव्यक्तियों के बीच चयन करने की अनुमति देती हैं, जो अन्य भाषाओं में पाए जाने वाले टर्नरी ऑपरेटर ?: के समान है। उदाहरण के लिए:
[f(x) for x in sequence if condition]
यह उदाहरण एक सशर्त अभिव्यक्ति का उपयोग करके प्रिंट करता है कि मान सम है या विषम।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3