Tutoriel list Python (5)

Tutoriel list Python (4)
Tutoriel list Python (4)

List Python – Python est langage de développement devenu très populaire dans le développement d’application. Nous allons continuer à avancer en regardant les list python (liste) et comment les manipuler.

Précédent tutoriel : #4 – les conditions en Python

Ce tutoriel est également disponible en 2 vidéos :

List Python (liste)

Les listes font partis des éléments essentiels à connaitre en Python car elles sont vraiment très utiles. Elles permettent de créer un conteneur de plusieurs valeurs différentes contrairement aux variables classiques vues précédemment qui permettent uniquement de contenir une seule valeur.

Voilà l’exemple de création d’une liste :

users = ["czero" , "batman" , "robin" , "robocop"]
print(users)

Il va alors afficher notre liste de cette façon :

["czero" , "batman" , "robin" , "robocop"]

D’ailleurs les listes sont considérées comme un autre type que ceux vus précédemment. Pour le savoir nous pouvons utiliser la fonction type() comme ceci :

users = ["czero" , "batman" , "robin" , "robocop"]
print(type(users))

Ce programme renverra « List ».

Utiliser un élément précis de la liste

Pour pouvoir afficher un élément précis de notre liste il faudra utiliser la convention de l’exemple suivant avec [] et un index. Le premier élément de la liste a 0 comme index ; donc le deuxième élément a 1 comme index.

users = ["czero" , "batman" , "robin" , "robocop"]
print(users[0])

Ceci affichera alors : czero.

Il est possible également de récupérer plusieurs éléments définis par un intervalle précis. On pourra alors utiliser une convention pour afficher de l’élément de l’index X à l’élément numéro Y. C’est assez curieux mais en effet le deuxième ne concerne pas un index mais bien l’emplacement de l’élément.

users = ["czero" , "batman" , "robin" , "robocop"]
print(users[1:3])
Celui-ci affichera alors : ["batman" , "robin"]

Il est possible en omettant de mettre l’index d’afficher du premier index à l’élément Y choisi.

users = ["czero" , "batman" , "robin" , "robocop"]
print(users[:3])
Celui-ci affichera alors : ["czero" , "batman" , "robin"]

Il est également possible en omettant de mettre l’emplacement d’afficher de l’index X au dernier élément.

users = ["czero" , "batman" , "robin" , "robocop"]
print(users[1:])
Celui-ci affichera alors : ["batman" , "robin" , "robocop"]

Nombre d’éléments de la liste

Pour savoir le nombre d’éléments contenus dans une liste, tu peux utiliser la fonction len(). Cette fonction permet également de connaitre l’index du dernier élément du tableau en oubliant pas d’enlever 1 car les index commencent pas 0.

users = ["czero" , "batman" , "robin" , "robocop"]
print(users[len(users) - 1])

Celui ci affichera : robocop.

Cependant il existe une autre convention possible pour pouvoir sélectionner le dernier élément d’une liste :

users = ["czero" , "batman" , "robin" , "robocop"]
print(users[- 1])

Modifier une liste

Pour modifier un élément d’une liste, il faudra le cibler par son index et lui affecter une nouvelle valeur :

users = ["czero" , "batman" , "robin" , "robocop"]
users[1] = "joker"
print(users)
Cela affichera ["czero" , "joker" , "robin" , "robocop"]

Vous pouvez également modifier plusieurs éléments en même temps en utilisant la convention vu précédemment [1:3] par exemple

users = ["czero" , "batman" , "robin" , "robocop"]
users[1:3] = ["joker" , "superman"]
print(users)
Cela affichera ["czero" , "joker" , "superman" , "robocop"]

Insérer un nouvel élément dans la liste

Avec la fonction insert() vous pourrez sans soucis ajouter un élément à l’index désiré ; ceci décalera les autres éléments dans la liste.

users = ["czero" , "batman" , "robin" , "robocop"]
users.insert(2 , "joker")
print(users)
Cela affichera ["czero" , "batman" , "joker" , "robin" , "robocop"]

Si vous désirez seulement ajouter un élément dans la liste à la fin, inutile d’utiliser la fonction len() pour définir le nouvel index ; en effet, il vous suffira d’utiliser la fonction append() pour ajouter un élément en fin de liste.

users = ["czero" , "batman" , "robin" , "robocop"]
users.append("joker")
print(users)
Cela affichera ["czero" , "batman" , "robin" , "robocop" , "joker"]

Il est également possible d’ajouter plusieurs éléments en une seule fois grâce à la fonction extend() auquel on fournira une liste qui s’ajoutera à la première.

users = ["czero" , "batman" , "robin" , "robocop"]
users.extend(["joker" , "superman"])
print(users)
Cela affichera ["czero" , "batman" , "robin" , "robocop" , "joker" , "superman"]

Supprimer un élément de la liste

Pour enlever un élément de la liste et réatribuer les index aux éléments suivants, on pourra utiliser la fonction del proposée par le python.

users = ["czero" , "batman" , "robin" , "robocop"]
del users[1]
print(users)
Cela affichera ["czero" , "robin" , "robocop"]

Vous pouvez une fois de plus utiliser la convention permet de définir un intervalle pour supprimer plusieurs éléments en même temps.

users = ["czero" , "batman" , "robin" , "robocop"]
del(users[1:3])
print(users)
Cela affichera ["czero" , "robocop"]

Certains préfèreront utiliser users.pop(1) au lieu d’écrire del users[1] qui supprimera un élément de la liste de la même façon.

Le Python permet également de supprimer un élément par sa valeur et non par son index en utilisant la fonction remove().

users = ["czero" , "batman" , "robin" , "robocop"]
users.remove("batman")
print(users)
Cela affichera ["czero" , "robin" , "robocop"]

Pour vider intégralement votre liste vous pouvez utiliser le code suivant :

users = ["czero" , "batman" , "robin" , "robocop"]
del users[:]
print(users)

Cela affichera []

La fonction users.clear() permettra de faire exactement la même chose. A vous de choisir la méthode que vous préférez.

Rassembler 2 listes

En Python il est possible de rassembler deux listes ensemble. Il suffit pour cela d’utiliser l’opérateur + entre les deux listes. Voici un exemple simple pour comprendre :

users1 = ["czero" , "batman"]
users2 = ["robin" , "robocop"]
users3 = users 1 + users 2
print(users3)
Ceci affichera alors : ["czero" , "batman" , "robin" , "robocop"]

Il est également possible de faire la même chose avec la même liste en utilisant l’opérateur *. Ceci multipliera le nombre de fois que la liste sera ajouté dans la liste finale.

users1 = ["czero" , "batman"]
users2 = users 1 * 2
print(users2)
Ceci affichera : ["czero" , "batman" , "czero" , "batman"]

Trouver un élément dans la liste

En Python, il est également possible de rechercher un élément précis de la liste en utilisant le mot clé in. Si l’élément existe bien dans liste, le programme retournera True et dans le cas inverse False.

users = ["czero" , "batman", "robin" , "robocop"]
print("Czero" in users)

Comme Czero est bien présent dans la liste, il affichera : True.

Attention à l’allocation de mémoire

En Python, il faut faire attention dans la manipulation des listes. Affecter une liste à une autre liste avec l’opérateur = ne fera pas une copie de la liste mais de l’emplacement mémoire de celle-ci. Cela signifie qu’ensuite, toute modification sur une des variables appliquera la même modification sur toutes les variables.

users1 = ["czero" , "batman", "robin" , "robocop"]
users2 = users1
users1[1] = "superman"
print(users2)
Ceci affichera alors : ["czero" , "superman", "robin" , "robocop"]

Pour copier une liste dans une autre variable (donc nouveau bloc mémoire indépendant), il faudra utiliser la convention ci-dessous :

users1 = ["czero" , "batman", "robin" , "robocop"]
users2 = users1[:]
users1[1] = "superman"
print(users1)
print(users2)

Et ceci affichera bien deux contenus différents contrairement à l’exemple précédent où on copie seulement l’adresse mémoire.

Conclusion – list python

Nous irons plus loin dès le prochain chapitre sur les listes qui proposent encore de nombreux secrets.

Chapitre suivant : Tutoriel fonction Python (6)

[ Article lu 1 fois aujourd'hui ]
A propos Judicaël Paquet 942 Articles
  Paquet Judicaël (expert en transformation et AI) Mes activités en France et en Suisse : - ingénieur prompt - coach AI - architecte de transformation agile - formations agiles personnalisées - sensibilisations et coaching de manager - audits de maturité agile et de situations - coaching agile (équipes, orga, product owner, scrum master, coach agile) Spécialités : scrum, kanban, management 3.0, agilité à l’échelle, lean startup, méthode agile, prompt AI, Intelligence artificielle. [Me contacter]

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.