heapq.n原始序列中返回结果的最大索引
如何返回可迭代的第 n 大项的原始列表中的索引
heapq.nlargest(2, [100, 2, 400, 500, 400])
output = [(3,500), (2, 400)]
这已经花费了我几个小时。我想不通。
How do I return the index in the original list of the nth largest items of an iterable
heapq.nlargest(2, [100, 2, 400, 500, 400])
output = [(3,500), (2, 400)]
This already cost me a couple hours. I can't figure it out.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以将
list.index
与map
,对于小型n (注意
list.index
返回值为 x 的 first 项列表中的索引):要查看关联值...
对于较大的
n
请参阅@SilentGhost 的帖子。编辑:对一些解决方案进行基准测试:
You can use
list.index
in combination withmap
, which is fast for smalln
(beware thelist.index
returns the index in the list of the first item whose value is x):To see the associated values ...
For larger
n
see @SilentGhost's post.Edit: Benchmarked some solution: