# HackerRank Nested Lists problem solution in Python

In this HackerRank Nested Lists problem-solution set, we need to develop a python program in which we have Given the names and grades for each student in a class of N students, store them in a nested list and print the name(s) of any student(s) having the second lowest grade.

Note: If there are multiple students with the second lowest grade, order their names alphabetically and print each name on a new line.

## Problem solution in Python 2 programming.

```n = int(raw_input())
lst = []
for x in range(0, n):
lst.append([raw_input(), float(raw_input())])
lst = sorted(lst, key=lambda x: x[1]);
for x in range(1, n):
if(lst[x][1] != lst[x-1][1]):
score = lst[x][1]
break
lst = sorted(lst);
for x in range(n):
if(lst[x][1] == score):
print lst[x][0]```

## Problem solution in Python 3 programming.

```if __name__ == '__main__':
students = []
for _ in range(int(input())):
name = input()
score = float(input())
students.append([name,score])
x = 99999
for i in range(len(students)):
if x > float(students[i][1]):
x = float(students[i][1])
y = 999999
for i in range(len(students)):
if float(students[i][1]) > float(x) and y > float(students[i][1]):
y = float(students[i][1])
runner = []
for i in range(len(students)):
if float(students[i][1]) == float(y):
runner.append(students[i][0])
runner = sorted(runner)

for i in range(len(runner)):
print(runner[i])

```

### Problem solution in pypy programming.

```if __name__ == '__main__':
L=[]
n=int(raw_input())
for _ in range(n):
name = raw_input()
score = float(raw_input())
L.append([name,score])
k=[]
for i in range(n):
k.append(L[i][1])
k.sort()

i=1
while i<n and k[0]==k[i]:
i=i+1
m=k[i]
s=[]
for j in range(n):
if L[j][1]==m:
s.append(L[j][0])
s.sort()
for z in range(len(s)):
print(s[z])```

### Problem solution in pypy3 programming.

```if __name__ == '__main__':

arr = []
for _ in range(int(input())):
name = input()
score = float(input())
arr.append([score,name])
arr.sort()
for i in range(len(arr)):
if arr[i][0]> arr[0][0]:
print(arr[i][1])

if i+1 >= len(arr) or arr[i+1][0] > arr[i][0]:
#print(arr[i+1][1])
break
#print (arr[1][1])
#print (arr)
#print (x)
```