1
compraring的值的指數我有一個排序列表查找列表第一最大的蟒蛇
my_list = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384]
我有一個值,可以說445,我想找到在列表中的第最大的指數。對於上面的情況,它應該返回索引值9(512)。
compraring的值的指數我有一個排序列表查找列表第一最大的蟒蛇
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
1.你嘗試過什麼? 2.關於複雜性的任何要求? –
使用'for i,v枚舉(my_list):'填充索引和值。 – ichbinblau
最好避免循環。 – Shafiq