पायथन का उपयोग करके डेटा विश्लेषण के दौरान हम कई परिदृश्यों में आते हैं जहां हमें कुछ मानदंडों को पूरा करने वाली सूची से तत्वों को फ़िल्टर करना होता है। इस लेख में हम देखेंगे कि एक सूची से एक तत्व कैसे प्राप्त करें जो तत्व से बड़ा है लेकिन ऐसे सभी तत्वों में सबसे छोटा है जो दिए गए तत्व से बड़े हैं।
मिनट के साथ
हम k से अधिक मूल्य के सामान्य मानदंडों को पूरा करते हुए सूची के प्रत्येक तत्व के माध्यम से जाने के लिए लूप के लिए डिज़ाइन करते हैं। फिर ऐसे सभी तत्वों के लिए हम न्यूनतम मान प्राप्त करने के लिए न्यूनतम फ़ंक्शन लागू करते हैं।
उदाहरण
listA = [1,5,6, 7,11,14] # Original list print("Given list : ",listA) k = 8 # using min res = min(i for i in listA if i > k) # Result print("Missing elements from the list : \n" ,res)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Minimum element gerater than k : 11
फ़िल्टर के साथ
यहां हम उन तत्वों को प्राप्त करने के लिए लैम्ब्डा फ़ंक्शन का उपयोग करते हैं जिनका मान K से अधिक है। फिर केवल वे मान प्राप्त करने के लिए फ़िल्टर फ़ंक्शन लागू करें। इस सूची से न्यूनतम मान प्राप्त करने के लिए अंत में न्यूनतम फ़ंक्शन लागू करें।
उदाहरण
listA = [1,5,6, 7,11,14] # printing original list print("Given list : ",listA) k = 8 # using min res = min(filter(lambda i: i > k, listA)) # Result print("Minimum element gerater than k : \n" ,res)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Minimum element gerater than k : 11
bisect_right के साथ
bisect_right फ़ंक्शन द्विभाजित मॉड्यूल में उपलब्ध है। यह किसी सूची को दिए गए एक निश्चित पैरामीटर मान से अधिक या उसके बराबर बिंदु पर विभाजित करता है। इस उदाहरण में हम सूची लेते हैं, इसे सॉर्ट करते हैं और फिर bisect_right फ़ंक्शन लागू करते हैं। हमें उस तत्व का सूचकांक प्राप्त होता है जो आवश्यक मान से अधिक होता है।
उदाहरण
from bisect import bisect_right listA = [1,5,6, 7,11,14] # printing original list print("Given list : ",listA) k = 8 listA.sort() # Using bisect_right res = listA[bisect_right(listA, k)] # Result print("Minimum element gerater than k : \n" ,res)
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Minimum element gerater than k : 11