Python सूची में आइटम के मान आवश्यक रूप से किसी क्रमबद्ध क्रम में नहीं होते हैं। इसके अलावा ऐसी स्थिति हो सकती है जब हम केवल एक विशिष्ट मान से बड़े मानों में रुचि रखते हैं। इस लेख में हम देखेंगे कि हम कैसे प्राप्त कर सकते हैं
Enumeration का उपयोग करना
Enumeration का उपयोग करके हमें सूची में तत्वों का इंडेक्स और मान दोनों मिलता है। फिर हम केवल पहले तत्व को प्राप्त करने के लिए अधिक से अधिक स्थिति लागू करते हैं जहां स्थिति संतुष्ट होती है। next फ़ंक्शन प्रत्येक सूची तत्व को एक-एक करके देखता है।
उदाहरण
List = [21, 10, 24, 40.5, 11]
print("Given list: " + str(List))
# next() + enumerate() का उपयोग करके
result = next(k for k, value in enumerate(List) if value > 25)
print("Index is: ", result)
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है
आउटपुट
Given list: [21, 10, 24, 40.5, 11] Index is: 3
Filter और Lambda फ़ंक्शंस का उपयोग करना
अगले उदाहरण में हम दिए गए मान की तुलना प्रत्येक इंडेक्स पर मान के साथ करने के लिए एक लैम्ब्डा फ़ंक्शन लेते हैं और फिर उनको फ़िल्टर करते हैं जो आवश्यक स्थिति को संतुष्ट करते हैं। स्थिति को संतुष्ट करने वाले तत्वों की सूची से, हम अपने उत्तर के लिए इंडेक्स 0 पर पहला तत्व चुनते हैं।
उदाहरण
List = [21, 10, 24, 40.5, 11]
print("Given list: " + str(List))
# filter() + lambda का उपयोग करके
result = list(filter(lambda k: k > 25, List))[0]
print("Index is: ", List.index(result))
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है
आउटपुट
Given list: [21, 10, 24, 40.5, 11] Index is: 3
map और lambda का उपयोग करना
अगले उदाहरण में हम समान दृष्टिकोण लेते हैं लेकिन filter के बजाय map का उपयोग करते हैं। map फ़ंक्शन का उपयोग प्रत्येक तत्व के माध्यम से लूप करने के लिए किया जाता है। जब भी स्थिति सत्य होती है वह इंडेक्स कैप्चर किया जाता है।
उदाहरण
List = [21, 10, 24, 40.5, 11]
print("Given list: " + str(List))
result = list(map(lambda k: k > 25, List)).index(True)
print("Index is: ", (result))
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है
आउटपुट
Given list: [21, 10, 24, 40.5, 11] Index is: 3