est*_*est 26 python sortedlist
a = 132
b = [0, 10, 30, 60, 100, 150, 210, 280, 340, 480, 530]
Run Code Online (Sandbox Code Playgroud)
我想知道它a应该在有序列表中的第6位b.
什么是最蟒蛇的方式呢?
Mat*_*ias 34
bisect是Python标准库中的一个模块,非常适合此任务.bisect模块中的函数bisect将为您提供值的插入点的索引.
让我给出一个代码示例 bisect
from bisect import bisect
a = 132
b = [0, 10, 30, 60, 100, 150, 210, 280, 340, 480, 530]
print(bisect(b, a))
Run Code Online (Sandbox Code Playgroud)
结果将是5因为列表是从0开始的,所以实际上它是第6个位置.
您可以做的是将结果用于insert.
index = bisect(b, a)
b.insert(index, a)
Run Code Online (Sandbox Code Playgroud)
或没有中间变量
b.insert(bisect(b, a), a)
Run Code Online (Sandbox Code Playgroud)
现在b将[0, 10, 30, 60, 100, 132, 150, 210, 280, 340, 480, 530].
| 归档时间: |
|
| 查看次数: |
11188 次 |
| 最近记录: |