Applez Nous: +41 22 518 70 00
En Python, une liste est un tableau dynamique indexé dont les éléments sont des pointeurs vers des objets en mémoire. Elle autorise un accès instantané par index en O(1), mais l’insertion ou la suppression au début d’une liste impose de décaler tous les éléments subséquents, opération coûteuse en O(n) :
nombres = [10, 20, 30, 40]
nombres.append(50) # O(1) amorti
nombres.insert(0, 5) # O(n) : décalage de tous les indices
Les compréhensions fournissent une syntaxe concise pour filtrer et transformer des collections, exécutées directement en C par l’interpréteur Python :
valeurs = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Filtrage des pairs et calcul de leur carré
carres_pairs = [x ** 2 for x in valeurs if x % 2 == 0]
print(carres_pairs) # [4, 16, 36, 64, 100]
Les tuples sont des collections immuables garantissant l’intégrité des données transmises et autorisant leur utilisation comme clés de dictionnaires. Les ensembles (sets) représentent des collections non ordonnées d’éléments uniques ; grâce à leur table de hachage interne, le test d’appartenance (element in mon_set) s’effectue en temps constant O(1), contre O(n) pour une liste standard.
Synthèse pédagogique : Choisir la bonne structure de données dès la phase de modélisation est le levier le plus efficace pour décupler les performances d’un logiciel.