PASCAL YIM / apprendreRappels de Python

PYTHON / 06 · EXPLICATION

Listes, chaînage et tableaux

Une liste Python n’est pas une liste chaînée. Dans CPython, elle repose sur un tableau de références aux objets.

FONCTIONNEMENT

L’accès l[-1] ou l[i] est en temps constant O(1). Dans une liste simplement chaînée sans raccourci vers la fin, atteindre le dernier élément nécessite un parcours O(n).

  • Liste Python : les cases contiennent des références. Les objets peuvent être de types différents et situés ailleurs en mémoire.
  • Liste chaînée : chaque nœud contient une valeur et une référence vers le suivant. C’est une autre structure de données.
  • Tableau NumPy numérique : les valeurs de même dtype sont stockées dans un tampon ; les indices et les strides déterminent leur position.
  • La différence d’efficacité concerne surtout le stockage et les calculs vectorisés ; elle ne vient pas d’un accès lent au dernier élément d’une liste Python.
Référence : implémentation des listes dans CPython ↗

Liste Python · accès direct

indices0●objet 11●objet 22●objet 3

Un indice permet d’atteindre directement une case contenant une référence.

Liste chaînée · parcours des nœuds

tête →1 │ →→2 │ →→3 │ ∅

Sans référence directe à la fin, les liens sont suivis successivement.

NumPy numérique · tampon de valeurs

float641.02.03.0

Un tableau contigu stocke les valeurs ensemble ; une vue peut avoir des strides différents.

Parcours · chapitres

Bases de Python · Références et copies · Calcul numérique avec NumPy.

01 / Rappels de Python

02 / Classes et objets en Python

03 / Pandas et DataFrames

04 / Régression linéaire et métriques

05 / Régressions multiple et polynomiale

06 / Évaluer les modèles

07 / KNN et normalisation

Quiz de synthèse · 24 questions →Rejoindre une session →