Le module bisect permet de conserver une liste toujours ordonnée : il évite de faire un appel, systématique et coûteux, à la méthode sort.
L'utilisation de bisect entraîne, dans le cas des listes ordonnées, un gain de temps d'exécution et d'occupation mémoire.
Dans ce qui suit, on suppose que $L$ est déjà ordonnée.
>>> from bisect import * >>> import random >>> L = [] >>> for k in range(10): ... insort(L, random.randint(1,100)) ... >>> print L [1, 34, 38, 39, 46, 58, 64, 76, 83, 88]
Si l'on souhaite réinsérer $x$ dans une liste ordonnée le contenant déjà, alors le nouvel élément sera inséré à droite de celui préexistant. Si besoin est, on peut changer ce comportement par défaut, en utilisant les fonctions insort_left() et bisect_left().