Initialisation des systèmes...

Baptiste.Dev
Retour aux notes
LangagesDébutantSérie : Python

Python : Les collections

list, tuple, dict et set : les quatre structures de données de base, leurs différences et leurs usages.

2 min de lecture
Mis à jour hier
pythoncollectionslistdictsettuple

Python : Les collections

Quatre structures de base, à bien distinguer par deux critères : ordonnée ou non, et modifiable (mutable) ou non.

TypeOrdonnéeModifiablePour quoi
listouiouiune séquence d'éléments qui évolue
tupleouinonun groupe figé de valeurs
dictoui (insertion)ouiassocier une clé à une valeur
setnonouides éléments uniques

# La liste (list)

La structure la plus utilisée : ordonnée et modifiable.

nombres = [1, 2, 3]
nombres.append(4)           # [1, 2, 3, 4]
nombres[0]                  # 1  (accès par index)
nombres[-1]                 # 4  (index négatif : depuis la fin)
nombres[1:3]                # [2, 3]  (slicing)
len(nombres)                # 4

Le slicing [début:fin] (fin exclue) marche aussi sur les chaînes.


# Le tuple

Comme une liste, mais immuable : une fois créé, on ne peut plus le modifier.

point = (1, 2)
point[0]                    # 1
# point[0] = 9             # TypeError : le tuple est figé
 
x, y = point                # déballage : x = 1, y = 2

On l'utilise pour un groupe de valeurs qui vont ensemble et ne doivent pas bouger (coordonnées, retour multiple d'une fonction).


# Le dictionnaire (dict)

Associe une clé à une valeur. Recherche par clé quasi instantanée.

ages = {"Alice": 30, "Bob": 25}
ages["Charlie"] = 40        # ajout
ages["Alice"]               # 30
ages.get("Zoe", 0)          # 0  (valeur par défaut si absent, sans erreur)
 
for nom, age in ages.items():
    print(f"{nom} : {age}")

ages["Zoe"] sur une clé absente lève une KeyError. Préfère .get(cle, defaut) quand la clé peut ne pas exister.


# Le set

Une collection sans doublons, non ordonnée. Idéale pour dédoublonner ou tester l'appartenance.

vus = {1, 2, 2, 3}          # {1, 2, 3}  (le doublon disparaît)
vus.add(4)
3 in vus                    # True  (test d'appartenance rapide)
 
a = {1, 2, 3}
b = {2, 3, 4}
a & b                       # {2, 3}   intersection
a | b                       # {1, 2, 3, 4}  union
a - b                       # {1}      différence

# La suite