我试图找到“三个最大的第一个数字”和他们的索引列表。你知道吗
我有一个编号为0
到10
的列表。你知道吗
numbers=[3,5,2,3,3,5,6,2,1,2,3,4,5,6,7]
使用以下数字:
Number 2 is show up: 5 Times
Number 3 is show up: 4 Times
Number 4 is show up: 3 Times
我有一份计算数字百分比的清单
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
输出如下所示:
Number is : 2 by 25.0 %
Number is : 2 by 20.0 %
Number is : 2 by 15.0 %
这部分代码删除了那个索引,所以我的当前索引一个接一个地减少。你知道吗
numbersInPercentage.remove(largest_integer)
应该是这样的:
Number is : 2 by 25.0 %
Number is : 3 by 20.0 %
Number is : 4 by 15.0 %
我的代码用它们当前的索引很好地找到了最大的数字,除了删除索引方法会杀了我。你知道吗
我需要分配其他删除索引的内容,否则我必须删除没有索引值的内容。你知道吗
对于前3个最大的数字及其索引,您可以执行以下操作:
输出:
您可以使用
collections.Counter
:这将返回与其计数一起的数字。如果你想要百分比,你可以稍后再做转换。你知道吗
相关问题 更多 >
编程相关推荐