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