Я пытаюсь найти «3 самых больших первых числа» с их индексом в списке.
, например;
У меня есть список с номерами от 0 до 10.
numbers=[3,5,2,3,3,5,6,2,1,2,3,4,5,6,7]
с этими номерами:
Номер 2 отображается: 5 раз
Номер 3 отображается: 4 раза
Номер 4 являетсяпоказать: 3 раза
У меня есть список с вычислением процента чисел
numbersInPercentage=[(100/len(numbers))*(numbers).count(0),
(100/len(numbers))*(numbers).count(1),
...
(100/len(numbers))*(numbers).count(10)]
Мой алгоритм (блок кода) для поиска 3 самых больших чисел
#first biggest
largest_integer = max(numbersInPercentage)
index = numbersInPercentage.index(max(numbersInPercentage))
print('Number is :', index," by ",largest_integer,"%")
numbersInPercentage.remove(largest_integer) # this part killing me
#second biggest
second_largest_integer = max(numbersInPercentage)
index = numbersInPercentage.index(max(numbersInPercentage))
print('Number is :', index," by ",second_largest_integer,"%")
numbersInPercentage.remove(second_largest_integer) # this part killing me
#thirdbiggest
third_largest_integer = max(numbersInPercentage)
index = numbersInPercentage.index(max(numbersInPercentage))
print('Number is :', index," by ",third_largest_integer,"%")
numbersInPercentage.remove(third_largest_integer) # this part killing me
вывод выглядит следующим образом:
Число: 2 на 25,0%
Число: 2 на 20,0%
Число: 2 на 15,0%
эта часть кода удаляет этот индекс, поэтому мой текущий индекс уменьшается на единицу.numbersInPercentage.remove (large_integer)
Оно должно выглядеть следующим образом:
Число: 2 на 25,0%
Число: 3 на 20,0%
Число: 4 на 15,0%
Мой код очень хорошо находит наибольшее число с их текущим индексом, за исключением удаления метода индекса, убивающего меня.
Мне нужно назначить что-то еще, чтоудалил индекс или я должен удалить без значения индекса.
PS: Извините за мои неподходящие языковые парни, я надеюсь, вы понимаете мою проблему.Не могли бы вы, кто-нибудь правильно сформулировать мой вопрос, пожалуйста.Спасибо.