我有一个排序列表
my_list = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384]
我有一个值,可以说445。我想在列表中找到第一个最大值的索引。对于上述情况,它应返回索引值9(512)。
最佳答案
最简单的方法是使用二进制搜索来查找所需的索引,因为输入列表已排序。此算法已在bisect
模块中实现:
import bisect
my_list = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384]
print(bisect.bisect_right(my_list, 445))
print(bisect.bisect_right(my_list, 512))
印刷品:
9
10
关于python - 在列表中查找第一最大值的索引,将其编译为python中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41136785/