# 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);
for x in range(1, n):
if(lst[x] != lst[x-1]):
score = lst[x]
break
lst = sorted(lst);
for x in range(n):
if(lst[x] == score):
print lst[x]```

## 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]):
x = float(students[i])
y = 999999
for i in range(len(students)):
if float(students[i]) > float(x) and y > float(students[i]):
y = float(students[i])
runner = []
for i in range(len(students)):
if float(students[i]) == float(y):
runner.append(students[i])
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])
k.sort()

i=1
while i<n and k==k[i]:
i=i+1
m=k[i]
s=[]
for j in range(n):
if L[j]==m:
s.append(L[j])
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]> arr:
print(arr[i])

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

1. python 3
if __name__ == '__main__':
students = []
for _ in range(int(input())):
name = input()
score = float(input())
students.append([name,score])

s_punt = sorted(set(score for name, score in students))
print('\n'.join(sorted(name for name, score in students if score == s_punt)))

1. 