
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Display All Second Lowest Grade Students from Nested List in Python
Suppose we have the names and grades for each student in a nested list we have to display the names of any students having the second lowest grade. If there are more than one students with the second lowest grade, reorder these in an alphabetical order and print each name on a new line.
So, if the input is like students = [['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]], then the output will be Amal, Bimal both have second least score 37, they are placed in alphabetic order.
To solve this, we will follow these steps −
- min_mark := minimum of scores for all x in students
- students := a list of students x for all x in students if score of > min_mark
- min2_mark := minimum of scores for all x in students
- students := sort the list [with names of x for all x in students if score of x is same as
- min2_mark]
- for each x in students, do
- display x
Example
Let us see the following implementation to get better understanding
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)
Input
[['Amal',37],['Bimal',37],['Tarun',36],['Akash',41],['Himadri',39]]
Output
Amal Bimal
Advertisements