Aide-mémoire — Structures de données#
essentiel
Comparatif#
| Structure | Ordonnée | Mutable | Doublons | Indexable | Syntaxe |
|---|---|---|---|---|---|
list |
oui | oui | oui | oui | [1, 2, 3] |
tuple |
oui | non | oui | oui | (1, 2, 3) |
set |
non | oui | non | non | {1, 2, 3} |
dict |
oui (insertion) | oui | clés uniques | par clé | {"a": 1} |
list#
l = [3, 1, 2]
l.append(4) # [3, 1, 2, 4]
l.insert(0, 9) # [9, 3, 1, 2, 4]
l.remove(9) # supprime la 1ère occurrence
l.pop() # retire et renvoie le dernier élément
l.pop(0) # retire et renvoie l'élément d'index 0
l.sort() # tri en place
l.sort(reverse=True)
sorted(l) # renvoie une nouvelle liste triée
l.reverse()
l[1:3] # slicing
l[::-1] # inversée (copie)
len(l)
tuple#
t = (1, 2, 3)
t = 1, 2, 3 # parenthèses optionnelles
t = (1,) # tuple à un élément : virgule obligatoire
a, b, c = t # dépaquetage
set#
s = {1, 2, 3}
s.add(4)
s.discard(4) # pas d'erreur si absent
s.remove(4) # KeyError si absent
a | b # union
a & b # intersection
a - b # différence
a ^ b # différence symétrique
a <= b # sous-ensemble
dict#
d = {"a": 1, "b": 2}
d["c"] = 3
d.get("z", 0) # 0 si absent (pas de KeyError)
d.setdefault("d", 0) # ajoute si absent, renvoie la valeur
d.pop("a") # retire et renvoie la valeur
d.update({"b": 20}) # fusion / écrase
d.keys(); d.values(); d.items()
for cle, valeur in d.items():
...
Compréhensions#
[x**2 for x in range(5)] # liste
{x: x**2 for x in range(5)} # dict
{x for x in range(5) if x % 2 == 0} # set
(x**2 for x in range(5)) # générateur (paresseux)
Détail : Compréhensions.