PHP les erreurs les plus courantes
Les listes sont l'un des quatre types de données intégrés dans Python utilisés pour stocker des collections de données, les trois autres étant Tuple, Set et Dictionnaire, tous ayant des qualités et des usages différents.
La structure de données la plus élémentaire en Python est la collection. Chaque élément d'une collection se voit attribuer un nombre - sa position ou son index. Le premier indice est zéro, le deuxième indice est un, et ainsi de suite.
Il y a certaines choses que vous pouvez faire avec tous les types de collections. Ces opérations comprennent l'indexation, le découpage, l'ajout, la multiplication et la vérification de l'appartenance. En outre, Python dispose de fonctions intégrées permettant de déterminer la longueur d'une collection et de trouver ses éléments les plus grands et les plus petits.
Les listes sont utilisées pour stocker plusieurs éléments dans une seule variable.
Exemple :
maliste = ["cahier", "livre", "stylo"] print(maliste)
Les listes sont créées à l'aide de crochets.
La liste est un type de données très polyvalent disponible en Python qui peut être écrit comme une liste de valeurs (éléments) séparées par des virgules entre crochets. Ce qui est important, c'est que les éléments d'une liste ne doivent pas nécessairement être du même type.
Pour créer une liste, il suffit de mettre entre crochets différentes valeurs séparées par des virgules.
Par exemple
Maliste1 = ["cahier", "livre", "stylo"] Maliste2 = ["cahier", "livre", 1 ,125] Maliste3 = [23, 11, 10, 1,125]
Les éléments de liste sont ordonnés, modifiables et autorisent les valeurs en double.
Les éléments de liste sont indexés, le premier élément a l'indice [0], le deuxième élément a l'indice [1], et ainsi de suite.
Lorsque nous disons que les listes sont ordonnées, cela signifie que les éléments ont un ordre défini et que cet ordre ne changera pas.
Si vous ajoutez de nouveaux éléments à une liste, ceux-ci seront placés à la fin de la liste.
Remarque : certaines méthodes de liste peuvent modifier l'ordre, mais en général, l'ordre des éléments ne change pas.
La liste est modifiable, ce qui signifie que nous pouvons modifier, ajouter et supprimer des éléments dans une liste après sa création.
Les listes étant indexées, elles peuvent contenir des éléments ayant la même valeur :
Exemple Les listes autorisent les valeurs en double :
maliste = ["cahier", "livre", "stylo", "livre"] print(maliste)
La fonction len() permet de déterminer le nombre d'éléments d'une liste :
Exemple Imprimez le nombre d'éléments de la liste :
maliste = ["cahier", "livre", "stylo", "livre"] print('cette liste a '+str(len(maliste))+' éléments ')
Les éléments de la liste sont indexés et il est possible de les retrouver en se référant à leur numéro d'index :
Exemple Imprimer le deuxième élément de la liste :
maliste = ["cahier", "livre", "stylo", "livre"] print(maliste[1])
L'indexation négative signifie que l'on commence par la fin.
-1 se réfère au dernier élément, -2 se réfère à l'avant-dernier élément, etc.
Exemple Imprimer le dernier élément de la liste :
maliste = ["cahier", "livre", "stylo", "livre"] print(maliste[-1])
Vous pouvez spécifier une plage d'index en indiquant où commence et où finit la plage.
En indiquant une plage, la valeur de retour sera une nouvelle liste avec les éléments spécifiés.
Exemple Retourner le troisième, quatrième et cinquième élément :
maliste = ["cahier", "livre", "stylo", "livre", "gomme", "règle", "tableau"] print(maliste[2 :5])
Note : La recherche commencera à l'index 2 (inclus) et se terminera à l'index 5 (non inclus).
N'oubliez pas que le premier élément a l'index 0.
En omettant la valeur de départ, la plage commencera au premier élément :
Exemple Dans cet exemple, les éléments sont retournés du début jusqu'au 4ème, mais sans inclure l’élément qui l’index 4
maliste = ["cahier", "livre", "stylo", "livre","gomme","régle","tableau"] print(maliste[ :4])
En omettant la valeur finale, l'intervalle ira jusqu'à la fin de la liste :
Exemple Cet exemple renvoie les éléments allant de "stylo" à la fin de la liste :
maliste = ["cahier", "livre", "stylo", "livre","gomme","régle","tableau"] print(maliste[2:])
Vous pouvez indiquer des index négatifs si vous souhaitez lancer la recherche à partir de la fin de la liste :
Exemple Cet exemple renvoie les éléments allant de "stylo" (-5) à "gomme" (-2) non compris :
maliste = ["cahier", "livre", "stylo", "livre","gomme","régle","tableau"] print(maliste[-5:-2])
Pour déterminer si un élément spécifié est présent dans une liste, utilisez le mot clé in :
Exemple Vérifier si "gomme" est présent dans la liste :
maliste = ["cahier", "livre", "stylo", "livre","gomme","régle","tableau"] if "gomme" in maliste: print("Oui, 'gomme' existe dans la liste")
Pour modifier la valeur d'un élément spécifique, il faut se référer à son numéro d'index :
Exemple Changez l’élément stylo par « stylo bleu » :
maliste = ["cahier", "livre", "stylo", "livre", "gomme", "règle", "tableau"] maliste[2]="stylo bleu" print(maliste)
Pour modifier la valeur des éléments d'une plage spécifique, définissez une liste avec les nouvelles valeurs, et faites référence à la plage de numéros d'index dans laquelle vous souhaitez insérer les nouvelles valeurs :
Exemple Remplacez les valeurs "stylo" et "tableau" par les valeurs "stylo bleu" et "colle" :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste[2:4]=["stylo bleu","colle"] print(maliste)
Si vous insérez plus d'éléments que ceux que vous voulez remplacer, les nouveaux éléments seront insérés là où vous l'avez spécifié, et les éléments restants seront déplacés en conséquence :
Exemple Modifier la troisiéme valeur en la remplaçant par deux nouvelles valeurs :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste[2:3]=["stylo bleu","colle"] print(maliste)
Remarque : La longueur de la liste change lorsque le nombre d'éléments insérés ne correspond pas au nombre d'éléments remplacés.
Si vous insérez moins d'éléments que ceux que vous voulez remplacer, les nouveaux éléments seront insérés là où vous l'avez spécifié, et les éléments restants seront déplacés en conséquence :
Exemple Modifier la deuxième et la troisième valeur en la remplaçant par une valeur :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste[2:4]=["stylo bleu"] print(maliste)
Pour insérer un nouvel élément dans une liste, sans remplacer aucune des valeurs existantes, nous pouvons utiliser la méthode insert().
La méthode insert() ajoute un élément à l'index spécifié :
Exemple Insérez "équerre" comme troisième élément :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste.insert(2, "équrre") print(maliste)
Remarque : à la suite de l'exemple ci-dessus, la liste ne contiendra plus 6 éléments, mais contiendra désormais 7 éléments.
Pour ajouter un élément à la fin de la liste, utilisez la méthode append() :
Exemple Utilisation de la méthode append() pour ajouter un élément :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste.append("équrre") print(maliste)
Pour ajouter des éléments d'une autre liste à la liste courante, utilisez la méthode extend().
Exemple Ajout des éléments de accessoires à maliste :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] accessoires=["sac à dos","tablier","trousse"] maliste.extend(accessoires) print(maliste)
Les éléments serons ajoutés à la fin de la liste.
La méthode extend() ne se contente pas d'ajouter des listes, vous pouvez ajouter n'importe quel objet itérable (tuples, ensembles, dictionnaires, etc.).
Exemple Ajouter les éléments d'un tuple à une liste :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] accessoires=("sac à dos","tablier","trousse") maliste.extend(accessoires) print(maliste)
La méthode remove() supprime l'élément spécifié.
Exemple Supprime "tableau" :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste.remove("tableau") print(maliste)
La méthode pop() supprime les index spécifiés.
Exemple Supprime le deuxième élément :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste.pop(1) print(maliste)
Si vous ne spécifiez pas d’index, le dernier élément de la liste sera supprimé.
Exemple supprimer le dernier élément
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste.pop() print(maliste)
On peut aussi utiliser le mot clé del pour supprimer un élément spécifié.
Exemple supprimer le deuxième élément de la liste
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] del maliste[1] print(maliste)
Avec le mot clé del on peut aussi supprimer toute la liste.
Exemple supprimer la liste
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] del maliste print(maliste)
La méthode clear() vide la liste.
La liste est toujours là, mais elle n'a plus de contenu.
Exemple Effacer le contenu de la liste :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste.clear() print(maliste)
Vous pouvez parcourir les éléments d'une liste en utilisant une boucle for :
Exemple Imprimer tous les éléments de la liste, un par un :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] for x in maliste: print(x)
Vous pouvez également parcourir les éléments de la liste en vous référant à leur numéro d'index.
Utilisez les fonctions range() et len() pour créer un itérable approprié.
Exemple Imprimer tous les éléments en se référant à leur numéro d'index :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] for i in range(len(maliste)): print(maliste[i])
Vous pouvez parcourir les éléments de la liste en utilisant une boucle while.
Utilisez la fonction len() pour déterminer la longueur de la liste, puis commencez à 0 et parcourez les éléments de la liste en vous référant à leurs index.
N'oubliez pas d'augmenter l'indice de 1 après chaque itération.
Exemple Imprimez tous les éléments, en utilisant une boucle while pour parcourir tous les numéros d'index.
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] i = 0 while i < len(maliste): print(maliste[i]) i = i + 1
List Comprehension offre la syntaxe la plus courte pour boucler des listes :
Exemple Une courte boucle for qui imprimera tous les éléments d'une liste :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] [print(x) for x in maliste]
La compréhension de liste offre une syntaxe plus courte lorsque vous souhaitez créer une nouvelle liste à partir des valeurs d'une liste existante.
Exemple :A partir d'une liste de fournitures scolaire, vous voulez créer une nouvelle liste contenant uniquement les fournitures dont le nom contient la lettre "g".
Sans la compréhension des listes, vous devrez écrire une instruction for avec un test conditionnel à l'intérieur :
Exemple
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] newlist = [] for x in maliste: if "g" in x: newlist.append(x) print(newlist)
Avec la compréhension de liste, vous pouvez réaliser le même travail en une seule ligne de code :
Example
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] newlist = [x for x in maliste if "g" in x] print(newlist)
La syntax est :
newlist = [expression for item in iterable if condition == True]
La valeur de retour est une nouvelle liste, alors que l'ancienne ne sera pas modifiée.
La condition est comme un filtre qui n'accepte que les éléments qui valent True.
Exemple N'accepter que les éléments qui ne sont pas "tableau" :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] newlist = [x for x in maliste if x != "tableau"] print(newlist)
La condition si x != "tableau" renvoie Vrai pour tous les éléments autres que "tableau", ce qui fait que la nouvelle liste contient tous les élément de la liste sauf "tableau".
La condition est facultative et peut être omise :
Exemple Sans instruction if :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] newlist = [x for x in maliste] print(newlist)
L'itérable peut être n'importe quel objet itérable, comme une liste, un tuple, un ensemble, etc.
Exemple Vous pouvez utiliser la fonction range() pour créer un itérable :
newlist = [x for x in range(10)] print(newlist)
Même exemple, mais avec une condition :
Exemple N'acceptez que les nombres inférieurs à 5 :
newlist = [x for x in range(10) if x < 5] print(newlist)
L'expression est l'élément courant de l'itération, mais c'est aussi le résultat, que vous pouvez manipuler avant qu'il ne finisse comme un élément de liste dans la nouvelle liste :
Exemple Mettre les valeurs de la nouvelle liste en majuscules :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] newlist = [x.upper() for x in maliste] print(newlist)
Vous pouvez définir le résultat comme vous le souhaitez :
Exemple Définir toutes les valeurs de la nouvelle liste à 'cahier' :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] newlist = ["cahier" for x in maliste] print(newlist)
L'expression peut également contenir des conditions, non pas comme un filtre, mais comme un moyen de manipuler le résultat :
Exemple Renvoyer "cahier" au lieu de "tableau" :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] newlist = [x if x != "tableau" else "cahier" for x in maliste] print(newlist)
Les objets de type liste possèdent une méthode sort() qui permet de trier la liste de manière alphanumérique, en ordre croissant, par défaut :
Exemple Trier la liste par ordre alphabétique :
maliste = ["cahier", "livre", "stylo","tableau","gomme","régle"] maliste.sort() print(maliste)
Exemple Trier la liste numériquement :
liste = [101, 51, 15, 8, 203] liste.sort() print(liste)
Pour effectuer un tri décroissant, utilisez comme argument le mot-clé reverse = True :
Exemple Trier la liste par ordre décroissant :
list = [101, 51, 15, 68, 203] list.sort(reverse = True) print(list)
Vous pouvez également personnaliser votre propre fonction en utilisant l'argument clé key = function.
La fonction renverra un nombre qui sera utilisé pour trier la liste (le nombre le plus bas en premier) :
Exemple Trier la liste en fonction de la proximité du nombre avec 50 :
def mafonction(n): return abs(n - 50) list = [101, 51, 85, 78, 203] list.sort(key = mafonction) print(list)
Par défaut, la méthode sort() est sensible à la casse, ce qui fait que toutes les lettres majuscules sont triées avant les lettres minuscules :
Exemple Le tri sensible à la casse peut donner un résultat inattendu :
maliste = ["cahier", "livre", "Stylo","tableau","Gomme","régle"] maliste.sort() print(maliste)
Ce qui donne :
['Gomme', 'Stylo', 'cahier', 'livre', 'règle', 'tableau']
Heureusement, nous pouvons utiliser des fonctions intégrées comme fonctions clés pour trier une liste.
Ainsi, si vous souhaitez une fonction de tri insensible à la casse, utilisez str.lower comme fonction clé :
Exemple Effectuez un tri de la liste insensible à la casse :
maliste = ["cahier", "livre", "Stylo","tableau","Gomme","régle"] maliste.sort(key = str.lower) print(maliste)Ce qui donne :
Comment faire si vous voulez inverser l'ordre d'une liste, quel que soit l'alphabet ?
La méthode reverse() inverse l'ordre de tri actuel des éléments.
Exemple Inversez l'ordre des éléments de la liste :
maliste = ["cahier", "livre", "Stylo","tableau","Gomme","régle"] maliste.reverse() print(maliste)
Ce qui donne :
['régle', 'Gomme', 'tableau', 'Stylo', 'livre', 'cahier']
On ne peut pas copier une liste simplement en tapant list2 = list1, parce que : list2 sera seulement une référence à list1, et les changements faits dans list1 seront automatiquement faits dans list2.
Il y a plusieurs façons de faire une copie, l'une d'entre elles est d'utiliser la méthode intégrée copy().
Exemple Faites une copie d'une liste avec la méthode copy() :
maliste = ["cahier", "livre", "Stylo","tableau","Gomme","régle"] maliste2=maliste.copy() print(maliste2)
Une autre façon de faire une copie est d'utiliser la méthode intégrée list().
Exemple Faites une copie d'une liste avec la méthode list() :
maliste = ["cahier", "livre", "Stylo","tableau","Gomme","régle"] maliste2=list(maliste) print(maliste2)
Il y a plusieurs façons de joindre, ou concaténer, deux listes ou plus en Python.
L'une des plus simples consiste à utiliser l'opérateur +.
Exemple Joindre deux listes :
maliste1 = ["cahier", "livre", "Stylo"] maliste2=["tableau","Gomme","régle"] maliste3=maliste1 + maliste2 print(maliste3)
Une autre façon de joindre deux listes consiste à ajouter tous les éléments de la liste 2 à la liste 1, un par un :
Exemple Ajouter la liste 2 à la liste 1 :
maliste1 = ["cahier", "livre", "Stylo"] maliste2=["tableau","Gomme","régle"] for x in maliste2: maliste1.append(x) print(maliste1)
Vous pouvez également utiliser la méthode extend(), qui sert à ajouter des éléments d'une liste à une autre liste :
Exemple Utilisez la méthode extend() pour ajouter la liste 2 à la fin de la liste 1 :
maliste1 = ["cahier", "livre", "Stylo"] maliste2=["tableau","Gomme","régle"] maliste1.extend(maliste2) print(maliste1)