मान लीजिए कि हमारे पास नेस्टेड सूची में प्रत्येक छात्र के नाम और ग्रेड हैं, तो हमें दूसरे सबसे कम ग्रेड वाले किसी भी छात्र के नाम प्रदर्शित करने होंगे। यदि दूसरी निम्नतम ग्रेड वाले एक से अधिक छात्र हैं, तो उन्हें वर्णानुक्रम में पुन:व्यवस्थित करें और प्रत्येक नाम को एक नई पंक्ति पर प्रिंट करें।
तो, अगर इनपुट छात्रों की तरह है =[['अमल', 37], ['बिमल', 37], ['तरुण', 36], ['आकाश', 41], ['हिमाद्री', 39]] , तो आउटपुट अमल होगा, बिमल दोनों का दूसरा सबसे कम स्कोर 37 है, उन्हें वर्णानुक्रम में रखा गया है।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
- min_mark :=छात्रों में सभी x के लिए न्यूनतम स्कोर
- छात्र:=छात्रों में सभी x के लिए x छात्रों की सूची यदि> min_mark का स्कोर है
- min2_mark :=छात्रों में सभी x के लिए न्यूनतम स्कोर
- छात्र:=सूची को क्रमबद्ध करें [छात्रों में सभी x के लिए x के नामों के साथ यदि x का स्कोर समान है
- min2_mark]
- छात्रों में प्रत्येक x के लिए, करें
- डिस्प्ले x
उदाहरण
आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें
def solve(students): min_mark = min(x[1] for x in students) students = [x for x in students if x[1] > min_mark] min2_mark = min(x[1] for x in students) students = sorted([x[0] for x in students if x[1] == min2_mark]) for x in students: print(x) students = [['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]] solve(students)
इनपुट
[['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]
आउटपुट
Amal Bimal