Я новичок в Python, и я решил эту проблему, чтобы найти второй по величине элемент списка Python. Есть нет. способов решить эту проблему, но я пытался решить ее, удалив наибольшее значение (независимо от того, сколько раз оно будет присутствовать в списке), а затем напечатав максимальное значение измененного списка.
n = int(input("Enter the no. of list entries"))
list_students = []
for i in range(0, n):
the_input = int(input("Enter the list element"))
list_students.append(the_input)
highest = max(list_students)
for i in list_students:
print("Considering",i)
if i==highest:
print("to be deleted ",i)
list_students.remove(i)
print("the max value is",max(list_students))
Output-
Enter the list element 4
Enter the list element 4
Enter the list element 4
Enter the list element 3
Enter the list element 1
Considering 4
to be deleted 4
Considering 4
to be deleted 4
Considering 1
the max value is 4
Хотя ожидалось, что оно будет 3. Хорошо видно, что цикл даже не учитывает третий 4 и его соседний элемент, равный 3. И это происходит каждый раз, независимо от того, сколько раз высший элемент повторяется поступил. Может кто-нибудь объяснить, пожалуйста, причину этого поведения?