Таким образом, вместо использования двух списков, вы можете сопоставить результаты с именем с указанием. Вот так:
scores_dict = {'Harry': 37.21,
'Berry': 37.21,
'Tina': 37.2,
'Akriti': 41,
'Harsh': 39
}
Затем удалите все соответствующие ключи из начального минимального значения, чтобы мы могли получить вторую минуту
x = min(scores_dict, key=scores_dict.get)
filtered_scores = {k:v for k,v in scores_dict.items() if v != scores_dict[x]}
Затем мы берем все ключи любого из новых минимальное значение.
x = min(filtered_scores, key=scores_dict.get)
res = [key for key in filtered_scores if filtered_scores[key] == filtered_scores[x]]
Полный код
n = int(input)
scores_dict = {}
for _ in range(n):
name = input()
score = int(input())
scores_dict[name] = score
# The loop will produce this dict
'''
scores_dict = {'Harry': 37.21,
'Berry': 37.21,
'Tina': 37.2,
'Akriti': 41,
'Harsh': 39
}
'''
x = min(scores_dict, key=scores_dict.get)
filtered_scores = {k:v for k,v in scores_dict.items() if v != scores_dict[x]}
x = min(filtered_scores, key=scores_dict.get)
res = [key for key in filtered_scores if filtered_scores[key] == filtered_scores[x]]
print(res)
Если вы действительно хотите использовать два списка, это можно сделать, но это увеличивает вероятность ошибок, добавляя ненужную сложность.
Словари - это просто ассоциативные (именованные) массивы (списки).