Aujourd’hui, je vais vous montrer la puissance des structures de données en Python. Je vais parler exclusivement des structures de données prédéfinies dans le langage et non pas celle disponible dans des bibliothèques à importer. Tout d’abord, qu’est-ce qu’une structure de données ?
Une structure de données est une manière d’organiser les données pour pouvoir les traiter plus facilement.
1. Les listes
Une liste contient une série de valeurs de différent type.
>>> b = []
# Les listes sont des elements mutable en python
# C'est-à-dire que l'on peut modifier la liste après son initialisation
>>> print(a[0])
1
Il est possible d’accéder à n’importe quel élément d’une liste en utilisant l’écriture liste[x]
:
Nous avons vue précédemment que les listes sont mutables. Nous pouvons donc nous demander comment ajouter ou supprimer un élément d’une liste ?
>>> b.append("Hello") #ajoute un élément à la liste
>>> print(b)
["Hello"]
>>> del b[0]
>>> b.remove("Hello") # la méthode supprime la première occurence de l'élément "Hello" dans la liste
>>> b.pop(0) # Il est aussi possible d'utiliser la méthode pop pour pouvoir supprimer un élément par rapport à son indice.
On peut remarquer que del n’est pas une méthode, mais un mot clé réservé par Python. Il est utilisable sur n’importe quel type de variable (pas seulement les listes). Alors que les méthodes remove() et pop() ont été créés spécialement pour les objets listes.
Pour finir avec les bases, vous pouvez connaitre la taille d’une liste en utilisant la fonction len(liste).
2. Les Tuples
Les tuples ressemblent aux listes. Ce sont en réalité des listes immuables, c’est-à-dire qu’après leurs créations, on ne peut plus les modifier !
Contrairement aux listes qui sont représentés par des [], les tuples sont entourés de {}.
>>> a = (1, 2, 3)
>>> type(a)
<class 'tuple'>
Voici une chose cool que vous pouvez faire avec les tuples :
>>> u, v = 3, 4 # initialisation de plusieurs variables
>>> print(u)
3
>>> print(v)
4
>>> a = 3,4 # içi la variable 'a' stock le tuple !
>>> print(a)
(3, 4)
>>> u, v = v, u # swap : u prend la valeur de v et v prend la valeur de u
3. Les dictionnaires
Bon passons à la structure de donnée la plus intéressante. Alors c’est assez simple à comprendre, il s’agit d’un système de clé/valeur. Pour une clé unique, on a une valeur.
Un exemple de dictionnaire ? euh… Un véritable dictionnaire ? On peut faire l’analogie avec un dictionnaire de français, avec un mot est liée à une définition.
>>> orientation = {"Nord" : "Il fait froid", "Sud" : "Il fait chaud"}
>>> orientation["Nord"]
Il fait froid
>>> orientation["Sud"]
Il fait chaud
Un dictionnaire est un élément mutable. (comme les listes). On peut créer un dictionnaire vide et y ajouter des éléments.
>>> nb_roues = {}
>>> nb_roues["voiture"] = 4
>>> nb_roues["vélo"] = 2
>>> print(nb_roues )
{'voiture': 4, 'vélo': 2}
4. Parcourir un dictionnaire
>>> for i in nb_roues.items():
print(i) #tuple (clé:valeur)
Alors le mot-clé foron ne l’a pas encore vue. Il est utilisé pour faire des boucles. Nous verrons d’ailleurs dans la prochaine leçon comment faire des boucles.
Il faut juste retenir qu’ici la variable ì prend la valeur de chaque élément du dictionnaire nb_roues. La méthode items()
renvoie la liste des couples (clé: valeur) du dictionnaire. Ainsi, ici, en réalité, on parcourt une liste !