Les listes
Apprenez à créer des listes, ajouter ou supprimer des éléments, et d'autres méthodes utiles.
Apprenez à créer des listes, ajouter ou supprimer des éléments, et d'autres méthodes utiles.
L'objectif de ce projet est de réaliser un script en ligne de commande permettant la gestion d'une liste de courses (ajout et retrait d'un élément, affichage de la liste, etc).
Dans cette version du projet de la liste de courses, vous devez rajouter la sauvegarde sur disque pour pouvoir conserver les informations de la liste entre les exécutions du script.
Projets dans lequel vous devez utiliser la puissance de la librairie standard de Python pour faire du ménage dans votre système d'exploitation en triant des fichiers selon leur extension.
Projet qui consiste à créer un jeu de rôle dans le terminal. Le jeu sera basé sur la logique algorithmique, utilisant des boucles et des structures conditionnelles pour gérer les interactions entre le joueur et l'environnement du jeu.
Listes
Dans cet exercice, vous devez récupérer différents morceaux d'une liste. La liste de départ est la suivante : liste =...
Premium
Boucles
Listes
Mathématiques
Dans cet exercice, vous devez créer une fonction addition_matrices capable d’additionner deux matrices. Les matrices seront représentées par des listes...
Premium
Listes
Le but de cet exercice est d'ajouter plusieurs éléments dans une liste en une seule fois ! Mais attention, vous...
Boucles
Listes
Opérateurs
Dans cet exercice, nous avons une liste qui contient 50 nombres. Le but de cet exercice est de récupérer dans...
Boucles
Listes
Algorithmes
Dans cet exercice, vous devez créer une fonction nommé sortir_labyrinthe prenant en paramètre un labyrinthe qui sera représenté par des...
Premium
Listes
Fonctions natives
Compréhension de liste
Algorithmes
Dans cet exercice, vous devez récupérer la longueur de chaque chaîne de caractères de la liste prenoms dans la liste...
Premium
Listes
Fonctions natives
Dans cet exercice, l'objectif est de trier une liste qui contient des tuples : python liste = [("Harry Potter", 5),...
Boucles
Listes
Dans cet exercice, nous allons créer une fonction cumul_valeurs qui permet de renvoyer une liste contenant le cumul de toutes...
Premium
Fonctions
Listes
Structures conditionnelles
Algorithmes
Dans cet exercice, nous allons créer une fonction pour récupérer un élément dans une liste, sans causer d'erreur si l'indice...
Premium
Affichage
Boucles
Listes
Fonctions natives
Dans cet exercice, vous allez devoir afficher une moitié de losange composée du symbole grâce à une boucle for et...
Premium
Listes
Fonctions natives
Dans cet exercice, on continue avec la fonction range, cette fois-ci pour créer une liste de nombres pairs allant de...
Boucles
Listes
Opérateurs
Dans cet exercice, nous cherchons tous les diviseurs d'un nombre, dans ce cas-ci, le nombre 50. Les diviseurs du nombre...
Premium
Chaînes de caractères
Listes
Fonctions natives
Algorithmes
J'ai sur mon disque des dossiers qui ne sont pas nommés correctement que j'aimerais renommer grâce à un script. Chaque...
Premium
Listes
Dans cet exercice, dans lequel vous devez récupérer plusieurs éléments de la liste. Pour réussir cet exercice, vous devez récupérer...
Listes
Dans cet exercice, vous devez utiliser les indices et les slices pour récupérer des parties d'une chaîne de caractères :...
Premium
Listes
Dans cet exercice, vous allez devoir récupérer les éléments communs aux deux listes dans une variable resultat. Dans ce cas-ci,...
Listes
Algorithmes
Dans cet exercice vous devez réaliser une fonction compter_en_profondeur qui prend en paramètre une liste et renvoie la quantité de...
Premium
Boucles
Listes
Le but de cet exercice est d'enlever les doublons de la liste. Pour réussir l'exercice, vous devez utiliser une autre...
Premium
Boucles
Fonctions
Listes
Algorithmes
Dans cet exercice, nous allons recréer la méthode split, qui permet de séparer une phrase en plusieurs éléments, en spécifiant...
Premium
Listes
Types natifs
Dans cet exercice, vous allez devoir manipuler plusieurs listes. Récupérez le premier et le dernier nombre contenus dans la liste...
Premium
Listes
Opérateurs
Types natifs
Dans cet exercice, vous devez additionner les éléments des 3 variables la_liste, le_tuple et le_set dans une seule liste resultat....
Premium
Listes
Fonctions natives
Le but de cet exercice est de créer une liste de nombres allant de 5 à 15. Pensez à utiliser...
Listes
Structures conditionnelles
Dans cet exercice, vous devez : - Ajouter le nombre 6 dans la liste. - Faire une vérification par la...
Premium
Fonctions
Listes
Algorithmes
On continue avec les fonctions et méthodes de base que l'on essaie de comprendre et de recréer. Cette fois-ci, on...
Premium
Listes
L'objectif de l'exercice est de récupérer un élément sur deux dans la liste. Votre script doit donc récupérer dans la...
Listes
Types natifs
Dans cet exercice, vous allez devoir récupérer des informations à l'intérieur de listes imbriquées. Le script dispose de deux listes...
Premium
Boucles
Listes
Opérateurs
Le but de cet exercice est de trouver tous les nombres de 0 à 1000 qui sont divisibles par 7...
Premium
Listes
Dans cet exercice vous devez tout simplement récupérer le premier élément de la liste. Dans cet exemple, vous devez récupérer...
Fonctions
Listes
Fonctions natives
Mathématiques
TOSA
Créez une fonction difference_max_min, qui prend une liste d'entiers positifs en argument et retourne la différence entre le plus grand...
Listes
Algorithmes
TOSA
Dans cet exercice, vous devez créer une fonction sudoku, qui prend une liste d'entiers représentant une ligne de Sudoku avec...
Premium
Listes
Optimisation
TOSA
Vous avez une liste de nombres et vous devez effectuer de multiples opérations de suppression à la fois au début...
Listes
Optimisation
Vous avez une liste d'éléments et devez fréquemment vérifier si un élément spécifique est présent dans cette liste. Écrivez une...
Boucles
Chaînes de caractères
Listes
Algorithmes
TOSA
Écrivez une fonction trouver_nombre qui prend en paramètre une liste contenant des nombres entiers et des chaînes de caractères. La...
Premium
Boucles
Listes
Compréhension de liste
Booléens
Algorithmes
TOSA
Écrivez une fonction matrice qui prend en entrée une liste de listes de booléens et retourne une nouvelle liste de...
Premium
Boucles
Listes
Compréhension de liste
Algorithmes
TOSA
Vous disposez d'une fonction nommée somme_listes qui prend en paramètre une liste de listes d'entiers (listes_nombres). Cette fonction a pour...
Premium
Listes
TOSA
Dans cet exercice, vous devrez créer une fonction somme_nombre_pairs, qui prend en argument une liste d'entiers positifs et retourne la...
Premium
Listes
Fonctions natives
TOSA
Un personnage nommé Patrick se déplace sur une ligne droite en partant du point zéro. À chaque étape, il fait...
Premium
Boucles
Listes
Dans une entreprise, chaque mois, les salariés ont un salaire et une prime. Le comptable cherche à faire des statistiques....
Listes
Vous disposez de la liste suivante, qui alterne un prénom puis un âge : python docliste = ["Patrick", 30, "Alice",...
12 octobre 2023
Les compréhensions de liste en Python
4 299 lectures
LirePython offre plusieurs méthodes pour trier une liste de manière ascendante ou descendante.
Le moyen le plus populaire est d'utiliser les méthodes de liste sort et la fonction intégrée sorted.
sortLa méthode sort trie une liste en place, sans créer de nouvelle liste.
Elle modifie directement l'ordre des éléments de la liste d'origine.
Par défaut, le tri est en ordre croissant.
nombres = [34, 7, 12, 6, 89]
nombres.sort()
print(nombres) # Sortie: [6, 7, 12, 34, 89]
Pour trier en ordre décroissant, on utilise le paramètre reverse=True.
nombres.sort(reverse=True)
print(nombres) # Sortie: [89, 34, 12, 7, 6]
sortedLa fonction sorted crée une nouvelle liste et prend la liste d'origine comme argument. Elle ne modifie pas la liste d'origine.
nombres = [34, 7, 12, 6, 89]
tri_ascending = sorted(nombres)
print(tri_ascending) # Sortie: [6, 7, 12, 34, 89]
Pour un tri décroissant, on utilise aussi le paramètre reverse=True.
tri_descending = sorted(nombres, reverse=True)
print(tri_descending) # Sortie: [89, 34, 12, 7, 6]
Ces méthodes fonctionnent aussi pour les objets iterables comme les chaînes de caractères et les tuples.
Pour supprimer des éléments d'une liste en Python, plusieurs méthodes sont disponibles.
Supprime la première occurrence d'un élément donné :
nombres = [1, 2, 3, 2, 4]
nombres.remove(2)
print(nombres) # Résultat : [1, 3, 2, 4]
Supprime l'élément à un index spécifié et le renvoie.
Si l'index n'est pas précisé, supprime et renvoie le dernier élément.
nombres = [1, 2, 3, 4]
nombres.pop(1)
print(nombres) # Résultat : [1, 3, 4]
Supprime l'élément à l'index spécifié ou une portion de la liste.
nombres = [1, 2, 3, 4]
del nombres[1]
print(nombres) # Résultat : [1, 3, 4]
nombres = [1, 2, 3, 4]
del nombres[1:3]
print(nombres) # Résultat : [1, 4]
Génère une nouvelle liste en omettant les éléments à supprimer.
nombres = [1, 2, 3, 4, 5]
nombres = [x for x in nombres if x != 2]
print(nombres) # Résultat : [1, 3, 4, 5]
Les listes sont des collections d'éléments ordonnées et modifiables.
Elles sont créées en utilisant des crochets ([]).
Vous pouvez ajouter, supprimer ou modifier des éléments dans une liste.
Par exemple, si vous voulez créer une liste d'animaux, vous pouvez faire :
animaux = ['chat', 'chien', 'poisson']
Les tuples, en revanche, sont des collections d'éléments ordonnées mais non modifiables.
Les tuples sont créés en utilisant des parenthèses :
animaux = ('chat', 'chien', 'poisson')
Avec un tuple, vous ne pouvez pas ajouter, supprimer ou modifier les éléments une fois qu'il est créé.
En général, les listes sont plus flexibles que les tuples. Utilisez des listes pour stocker des données qui peuvent changer au cours du programme, et des tuples pour des données qui doivent rester constantes.
N'oubliez pas qu'un tuple est plus léger en termes de mémoire que la liste.
Ainsi, si vous avez des données qui ne sont pas censées changer, un tuple est un choix pratique.
Créer une liste en Python est simple et peut être fait de plusieurs façons. Une liste est une collection d'éléments ordonnée et modifiable, pouvant contenir différents types de données.
Liste vide :
ma_liste = []
Liste avec des éléments :
ma_liste = [1, 2, 3, "abc", 4.5]
Liste avec la fonction list() :
ma_liste = list(("élément1", "élément2", "élément3"))
Liste en compréhension (crée une liste en une seule ligne de code) :
ma_liste = [i for i in range(10)] # Génère une liste de 0 à 9
Une fois la liste créée, vous pouvez accéder à ses éléments en utilisant l'index :
element = ma_liste[0] # Récupère le premier élément
Modifier un élément :
ma_liste[0] = "nouvelle valeur"
Ajouter un élément à la fin de la liste :
ma_liste.append("élément ajouté")
Insérer un élément à une position spécifique :
ma_liste.insert(1, "élément inséré")
Supprimer un élément :
ma_liste.remove("élément") # Supprime l'élément spécifié
del ma_liste[0] # Supprime l'élément à l'index 0
Supprimer une liste en Python peut être accompli de différentes manières. Voici les méthodes couramment utilisées:
del:La fonction del supprime complètement la liste et libère la mémoire associée.
ma_liste = [1, 2, 3, 4, 5]
del ma_liste
clear():clear() vide la liste de tous ses éléments sans supprimer l'objet lui-même.
ma_liste = [1, 2, 3, 4, 5]
ma_liste.clear()
Il est aussi possible de vider une liste en l'affectant simplement à une liste vide [].
ma_liste = [1, 2, 3, 4, 5]
ma_liste = []
Notez qu'utiliser del est différent des deux autres méthodes car il supprime l'objet liste de la mémoire. Les autres méthodes conservent l'objet liste vide dans la mémoire. Le choix de la méthode de suppression dépend de votre besoin et du contexte. Utilisez del pour supprimer complètement l'objet liste ou clear() et l'assignation d'une liste vide pour conserver une référence à la liste voulue dans la mémoire.
Ajouter un élément à la fin d'une liste en Python est un processus simple et rapide grâce à la méthode append(). La méthode append() permet d'ajouter un élément à la fin d'une liste existante.
Voici un exemple de comment utiliser la méthode append() pour ajouter un élément à la fin d'une liste :
ma_liste = [1, 2, 3]
ma_liste.append(4)
print(ma_liste)
Dans cet exemple, la liste initiale contient les éléments 1, 2 et 3. On utilise la méthode append() pour ajouter le nombre 4 à la fin de la liste, en écrivant ma_liste.append(4). La liste résultante contient les éléments : [1, 2, 3, 4].
Il est également possible d'ajouter plusieurs éléments à la fin d'une liste en une seule opération en utilisant l'opérateur d'extension (+=) et une autre liste :
ma_liste = [1, 2, 3]
ma_liste += [4, 5, 6]
print(ma_liste)
Ici, on ajoute les éléments 4, 5 et 6 à la fin de la liste, en écrivant ma_liste += [4, 5, 6]. La liste résultante contient les éléments : [1, 2, 3, 4, 5, 6].
Il est important de noter que la méthode append() ajoute le nouvel élément directement à la liste existante, modifiant ainsi la liste d'origine, tandis que l'opérateur += crée une nouvelle liste contenant tous les éléments.
Ajouter un élément à un endroit précis en Python se fait généralement en utilisant la méthode insert(). La méthode insert() prend deux arguments : l'index où insérer l'élément et l'élément lui-même. La syntaxe est la suivante:
list.insert(index, element)
Prenons un exemple avec une liste de nombres :
liste_nombres = [1, 2, 4, 5]
Pour ajouter le nombre 3 à la position d'index 2 (n'oubliez pas que l'indexation commence à 0 en Python), utilisez la méthode insert() :
liste_nombres.insert(2, 3)
La liste_nombres deviendra :
[1, 2, 3, 4, 5]
On peut également insérer des chaînes de caractères ou d'autres objets à une liste :
liste_fruits = ['pomme', 'banane', 'kiwi']
liste_fruits.insert(1, 'orange')
La liste_fruits sera maintenant :
['pomme', 'orange', 'banane', 'kiwi']
Si l'index spécifié est supérieur à la longueur de la liste, l'élément sera ajouté à la fin de la liste. Par exemple :
liste_fruits.insert(10, 'raisin')
La liste_fruits sera alors :
['pomme', 'orange', 'banane', 'kiwi', 'raisin']
En Python, pour supprimer un élément d'une liste par son nom, on utilise la méthode remove() qui prend l'élément en argument. Voici un exemple simple :
fruits = ['pomme', 'banane', 'cerise']
fruits.remove('banane')
print(fruits) # Affiche ['pomme', 'cerise']
Dans cet exemple, on supprime l'élément 'banane' de la liste de fruits. Si l'élément est présent plusieurs fois, seule la première occurrence sera supprimée.
nombres = [1, 2, 3, 2, 4]
nombres.remove(2)
print(nombres) # Affiche [1, 3, 2, 4]
Si l'élément à supprimer n'est pas présent dans la liste, une erreur ValueError sera soulevée. Pour éviter cela, vérifiez d'abord si l'élément est présent dans la liste avec l'opérateur in.
couleurs = ['rouge', 'vert', 'bleu']
couleur_a_supprimer = 'jaune'
if couleur_a_supprimer in couleurs:
couleurs.remove(couleur_a_supprimer)
Pour supprimer toutes les occurrences d'un élément, utilisez une compréhension de liste :
lettres = ['a', 'b', 'a', 'c', 'a', 'd']
lettres = [lettre for lettre in lettres if lettre != 'a']
print(lettres) # Affiche ['b', 'c', 'd']
Dans cet exemple, toutes les occurrences de la lettre 'a' sont supprimées, et la nouvelle liste contient seulement les lettres 'b', 'c' et 'd'.
Pour supprimer un élément dans une liste par son indice en Python, on utilise la méthode pop() qui prend en paramètre l'indice de l'élément à supprimer. La méthode pop() supprime l'élément de la liste et le retourne en sortie.
Exemple :
liste = [4, 7, 2, 8, 9]
indice = 1
element_supprime = liste.pop(indice)
print(liste) # Affiche [4, 2, 8, 9]
print(element_supprime) # Affiche 7
Si vous ne voulez pas récupérer la valeur de l'élément supprimé, vous pouvez simplement utiliser del avec l'indice de l'élément à supprimer :
liste = [4, 7, 2, 8, 9]
indice = 1
del liste[indice]
print(liste) # Affiche [4, 2, 8, 9]
Si l'indice est hors des limites de la liste, pop() lèvera une exception IndexError. Vous pouvez vérifier la validité de votre indice en utilisant une condition :
indice = 5
if 0 <= indice < len(liste):
element_supprime = liste.pop(indice)
else:
print("Indice invalide")
Trier une liste en ordre croissant en Python est une opération simple grâce à la méthode sort() et la fonction sorted().
sort()La méthode sort() trie la liste directement sur place et ne retourne aucune valeur. Elle modifie la liste originale.
Exemple:
numbers = [3, 1, 4, 2, 5]
numbers.sort() # Trie la liste directement
print(numbers) # [1, 2, 3, 4, 5]
sorted()La fonction sorted() trie la liste, retourne une nouvelle liste triée et ne modifie pas la liste originale.
Exemple:
numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(numbers) # Trie
print(sorted_numbers) # [1, 2, 3, 4, 5]
print(numbers) # [3, 1, 4, 2, 5], liste originale intacte
Ces méthodes fonctionnent aussi avec des listes de chaînes de caractères selon l'ordre lexicographique.
Exemple:
words = ["abricot", "cerise", "pomme", "banane"]
words.sort()
print(words) # ['abricot', 'banane', 'cerise', 'pomme']
Choisissez sort() si vous devez modifier la liste originale et sorted() si vous voulez conserver la liste originale intacte.
Trier une liste en ordre décroissant en Python est simple grâce à la fonction intégrée sorted() et la méthode sort(). Les deux méthodes acceptent un argument clé reverse, qui, lorsqu'il est défini comme True, trie la liste en ordre décroissant.
Voici un exemple avec sorted() :
ma_liste = [3, 1, 4, 1, 5, 9]
liste_triee = sorted(ma_liste, reverse=True)
print(liste_triee) # Affiche [9, 5, 4, 3, 1, 1]
sorted() retourne une nouvelle liste triée, sans modifier la liste d'origine.
Voici un exemple avec sort() :
ma_liste = [3, 1, 4, 1, 5, 9]
ma_liste.sort(reverse=True)
print(ma_liste) # Affiche [9, 5, 4, 3, 1, 1]
sort() modifie la liste d'origine et ne retourne rien.
Pour trier en fonction d'une fonction personnalisée, utilisez l'argument key :
ma_liste = ["Python", "Java", "C++", "JavaScript"]
liste_triee = sorted(ma_liste, key=len, reverse=True)
print(liste_triee) # Affiche ['JavaScript', 'Python', 'Java', 'C++']
N'hésite pas à nous contacter si tu ne trouves pas la réponse à ta question dans la FAQ.