पायथन: लिस्ट में अधिकतम मान का इंडेक्स मान प्राप्त करें
इंडेक्सिंग के माध्यम से, आप लिस्ट से एक आइटम या आइटम्स की रेंज प्राप्त कर सकते हैं। आप लिस्ट से एक विशिष्ट आइटम तभी प्राप्त कर सकते हैं जब आप उस मान से जुड़े इंडेक्स नंबर को जानते हों।
लिस्ट में सबसे बड़े आइटम का इंडेक्स मान खोजने के लिए, आप max() और index() मेथड्स का उपयोग कर सकते हैं। यह गाइड आपको एक प्रोग्राम के माध्यम से चलता है जो लिस्ट में अधिकतम तत्व का इंडेक्स मान प्राप्त करता है।
उदाहरण: उच्चतम ग्रेड वाला छात्र ढूंढना
एक प्रोग्राम लिखें जो उस छात्र का नाम प्राप्त करता है जिसने अपने अंतिम मैथ टेस्ट में उच्चतम ग्रेड अर्जित किया। यह नाम तब कंसोल पर प्रिंट किया जाता है।
शुरू करने के लिए, दो लिस्ट्स बनाएं:
students = ["Andy", "April", "Julia", "Gary"] grades = [75, 82, 64, 68]
पहली लिस्ट में क्लास के छात्रों के नाम हैं। दूसरी लिस्ट में उनके संबंधित ग्रेड हैं।
ये लिस्ट्स पैरेलल एरे हैं, जिसका अर्थ है कि दोनों एरे समान आकार के हैं और प्रत्येक मान रिकॉर्ड के एक भाग का प्रतिनिधित्व करता है। "students" में नाम हैं और "grades" में उन छात्रों द्वारा अर्जित ग्रेड हैं।
अगला, लिस्ट में सबसे बड़ा ग्रेड खोजें। आप लिस्ट में सबसे बड़ा ग्रेड खोजने के लिए max() फंक्शन का उपयोग कर सकते हैं:
largest = max(grades)
यह कोड सबसे बड़ी संख्या प्राप्त करता है। यह बिल्कुल आदर्श नहीं है। आप सबसे बड़ी संख्या की इंडेक्स पोजीशन प्राप्त करना चाहते हैं। ऐसा करने के लिए, एक और बिल्ट-इन फंक्शन का उपयोग करें: index()। आइए लिस्ट में सबसे बड़े आइटम का इंडेक्स मान प्राप्त करें:
index_of_largest = grades.index(largest)
क्योंकि दोनों लिस्ट्स पैरेलल हैं, "grades" लिस्ट में उच्चतम ग्रेड का इंडेक्स नंबर "students" लिस्ट में उस ग्रेड को अर्जित करने वाले छात्र के इंडेक्स नंबर के समान है।
अगला, कंसोल पर एक मैसेज प्रिंट करें जो हमें बताता है कि किसने उच्चतम ग्रेड अर्जित किया:
print("{} earned the highest grade in the class. Their grade was {}.".format(students[index_of_largest], largest))
उच्चतम ग्रेड अर्जित करने वाले छात्र का नाम प्राप्त करने के लिए इंडेक्सिंग सिंटैक्स का उपयोग करें। फिर इस मान और उनके द्वारा अर्जित ग्रेड को स्ट्रिंग में जोड़ें।
प्रोग्राम चलाएं और देखें क्या होता है:
April earned the highest grade in the class. Their grade was 82.
कोड सफलतापूर्वक उस छात्र की पहचान करता है जिसने उच्चतम ग्रेड अर्जित किया है। न्यूनतम तत्वों का इंडेक्स खोजने के लिए, आप max() फंक्शन को min() से बदल सकते हैं।
अधिकतम मान के बराबर कई इंडेक्स ढूंढना
क्या होता है यदि दो छात्रों के पास उच्चतम ग्रेड है? उपरोक्त प्रोग्राम केवल पहले छात्र की इंडेक्स पोजीशन रिटर्न करता है जिसने विशेष ग्रेड अर्जित किया है।
उन सभी छात्रों की घटनाओं को खोजने के लिए जिन्होंने विशेष ग्रेड अर्जित किया है, आप लिस्ट कॉम्प्रिहेंशन का उपयोग कर सकते हैं। पहले की तरह मानों को इनिशियलाइज़ करके और लिस्ट में सबसे बड़े आइटम का इंडेक्स मान प्राप्त करके शुरू करें:
students = ["Andy", "April", "Julia", "Gary", "Paul"] grades = [75, 82, 64, 68, 82] largest = max(grades)
आपने नए प्रोग्राम में यह देखने के लिए एक रिकॉर्ड जोड़ा है कि क्या होता है यदि दो छात्रों का ग्रेड समान है।
अगला, एक लिस्ट कॉम्प्रिहेंशन लिखें। यह लिस्ट कॉम्प्रिहेंशन उन सभी छात्रों की इंडेक्स पोजीशन ढूंढता है जिन्होंने विशेष ग्रेड अर्जित किया:
all_grades = [g for g, x in enumerate(grades) if x == largest]
यह कोड "grades" लिस्ट में प्रत्येक ग्रेड के माध्यम से इटरेट करता है। प्रत्येक ग्रेड की तुलना "grades" लिस्ट में सबसे बड़े मान से की जाती है। यदि कोई मान उच्चतम ग्रेड के बराबर है, तो इसे लिस्ट में जोड़ा जाता है।
enumerate() फंक्शन हमारी लिस्ट को दो लिस्ट्स में विभाजित करता है: इंडेक्स नंबर्स और मान। इस प्रकार, "g" लिस्ट में आइटम के इंडेक्स का प्रतिनिधित्व करता है और "x" आइटम के मान का प्रतिनिधित्व करता है।
अगला, फोर लूप का उपयोग करके प्रत्येक छात्र के लिए एक मैसेज प्रिंट करें जिसका ग्रेड पाए गए उच्चतम ग्रेड के बराबर है:
for g in all_grades:
print("{} earned the highest grade in the class. Their grade was {}.".format(students[g], grades[g]))
यदि कई छात्रों ने क्लास में उच्चतम ग्रेड अर्जित किया है, तो फोर लूप कई बार चलेगा। हर बार लूप चलने पर, एक छात्र का नाम कंसोल पर मैसेज के साथ प्रिंट होता है कि उन्होंने क्लास में उच्चतम ग्रेड अर्जित किया।
हमारा प्रोग्राम चलाएं:
April earned the highest grade in the class. Their grade was 82. Paul earned the highest grade in the class. Their grade was 82.
हमारा प्रोग्राम सफलतापूर्वक उन सभी छात्रों के नाम दिखाता है जिन्होंने क्लास में उच्चतम ग्रेड अर्जित किया।
निष्कर्ष
आप index() का उपयोग करके लिस्ट में किसी आइटम का इंडेक्स मान प्राप्त कर सकते हैं। min() या max() मेथड के साथ संयुक्त, आप लिस्ट में सबसे छोटे या सबसे बड़े आइटम का इंडेक्स मान ढूंढ सकते हैं।
अब आपके पास पायथन एक्सपर्ट की तरह लिस्ट में अधिकतम मान का इंडेक्स मान प्राप्त करने का ज्ञान है!