objectif
Insérer en O(log n) la position et maintenir l’ordre trié.
code minimal
import bisect
data = [1,3,5]
bisect.insort(data, 4)
print(data == [1,3,4,5]) # attendu: True
utilisation
import bisect
idx = bisect.bisect_left([10,20,30], 25)
print(idx == 2)
variante(s) utile(s)
import bisect
data = []
for x in [5,1,3]: bisect.insort(data, x)
print(data == [1,3,5])
notes
- bisect_left/droite contrôlent la position en cas d’égalité.
- Pratique pour files de priorité custom ou caches ordonnés.