"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > लैम्ब्डा बनाम सूची समझ: पायथन सूचियों में तत्व-वार अंतर के लिए कौन सा सर्वश्रेष्ठ है?

लैम्ब्डा बनाम सूची समझ: पायथन सूचियों में तत्व-वार अंतर के लिए कौन सा सर्वश्रेष्ठ है?

2024-12-23 को प्रकाशित
ब्राउज़ करें:948

 Lambda vs. List Comprehension: Which is Best for Element-wise Differences in Python Lists?

सूचियों में तत्व-वार अंतर करना: लैम्ब्डा बनाम सूची समझ

किसी सूची में आसन्न तत्वों के बीच अंतर ढूंढना एक सामान्य ऑपरेशन है प्रोग्रामिंग. पायथन में, इसे पूरा करने के कई तरीके हैं, जिसमें लैम्ब्डा एक्सप्रेशन या सूची समझ का उपयोग करना शामिल है। तुरंत, जिसका उपयोग सूची में प्रत्येक तत्व पर काम करने के लिए किया जा सकता है। उदाहरण के लिए:

t = [1, 3, 6] अंतर = सूची (मानचित्र (लैम्ब्डा i, j: j - i, t[:-1], t[1:]))

इस मामले में, लैम्ब्डा फ़ंक्शन लैम्ब्डा i, j: j - i (i)-वें तत्व को उसके (i 1)-वें तत्व से घटाता है। मानचित्र फ़ंक्शन इस फ़ंक्शन को सूची में आसन्न तत्वों की प्रत्येक जोड़ी पर लागू करता है। किसी मौजूदा सूची पर. निम्नलिखित सूची समझ उपरोक्त लैम्ब्डा अभिव्यक्ति के समान ही कार्य करती है:

t = [1, 3, 6]
differences = list(map(lambda i, j: j - i, t[:-1], t[1:]))
ज़िप फ़ंक्शन सूची में आसन्न तत्वों को जोड़ता है, और सूची की समझ इन जोड़ियों पर पुनरावृत्त होती है। प्रत्येक जोड़ी (i, j) के लिए, यह अंतर j - i की गणना करता है।

तुलना:

दोनों दृष्टिकोणों के अपने फायदे और नुकसान हैं। लैम्ब्डा अभिव्यक्तियाँ अधिक बहुमुखी हैं और इनका उपयोग व्यापक स्थितियों में किया जा सकता है। हालाँकि, सूची की समझ अक्सर अधिक संक्षिप्त और पढ़ने में आसान होती है। और सूची समझ निम्नलिखित आउटपुट उत्पन्न करेगी:

[2, 3]
differences = [j - i for i, j in zip(t[:-1], t[1:])]
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3