उनकी सामग्री के आधार पर स्ट्रिंग्स की सूची को फ़िल्टर करना
स्ट्रिंग्स की एक सूची को देखते हुए, आपको केवल उन्हीं को निकालने की आवश्यकता का सामना करना पड़ सकता है जिनमें शामिल हैं एक विशिष्ट उपस्ट्रिंग. पायथन में, इस फ़िल्टरिंग ऑपरेशन को करने के कई प्रभावी तरीके हैं। . सूची समझ मौजूदा सूची के तत्वों के आधार पर एक नई सूची बनाने का संक्षिप्त और अभिव्यंजक तरीका प्रदान करती है। 'एबी' वाली स्ट्रिंग्स को फ़िल्टर करने की आपकी विशिष्ट आवश्यकता के लिए, आप निम्नलिखित समझ का उपयोग कर सकते हैं:
lst = ['a', 'ab', 'abc', 'bac'] परिणाम = [k for k in lst if 'ab' in k]
यह समझ मूल सूची ('ए', 'एबी', 'एबीसी', 'बीएसी') में प्रत्येक स्ट्रिंग के माध्यम से दोहराती है और जांच करती है यदि इसमें सबस्ट्रिंग 'ab' शामिल है। यदि सत्य है, तो यह परिणामी सूची में स्ट्रिंग जोड़ता है। यह आपको वांछित फ़िल्टर की गई सूची देता है: ['ab', 'abc']।lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]
पायथन में स्ट्रिंग्स को फ़िल्टर करने के लिए एक अन्य विधि का उपयोग करना है फ़िल्टर फ़ंक्शन. यह फ़ंक्शन एक फ़िल्टर फ़ंक्शन और एक पुनरावर्तनीय को तर्क के रूप में लेता है और एक पुनरावर्तक लौटाता है जो पुनरावृत्तीय के तत्वों को उत्पन्न करता है जो फ़िल्टर फ़ंक्शन को संतुष्ट करते हैं। आपके मामले में, आप फ़िल्टर का उपयोग इस प्रकार कर सकते हैं:
lst = ['a', 'ab', 'abc', 'bac'] परिणाम = सूची (फ़िल्टर (लैम्ब्डा के: 'एबी' इन के, एलएसटी))
फ़िल्टर फ़ंक्शन अपने पहले तर्क के रूप में एक अज्ञात फ़ंक्शन (लैम्ब्डा फ़ंक्शन) लेता है, जो जांचता है कि इनपुट में 'एबी' मौजूद है या नहीं डोरी। दूसरा तर्क मूल सूची है. फ़िल्टर का परिणाम एक पुनरावर्तक है, जिसे फिर सूची() का उपयोग करके एक सूची में डाला जाता है। फिर, यह वांछित ['ab', 'abc'] सूची उत्पन्न करता है।हालांकि सूची समझ और फ़िल्टर फ़ंक्शन दोनों वांछित फ़िल्टरिंग प्राप्त कर सकते हैं, सूची समझ को आम तौर पर उनकी संक्षिप्तता और पठनीयता के लिए पसंद किया जाता है, खासकर इस तरह के सरल फ़िल्टरिंग कार्य।अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3