oujood.com

Les listes en Python

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.

chercher |

Les listes

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]

Éléments de liste

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.

Ordonné

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.

Modifiable

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.

Autoriser les doublons

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)

Longueur de la liste

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 ')

Python - accès aux éléments de la liste

Accès aux é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])

Indexation négative

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])

Plage d'index

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:])

Plage d'index négatifs

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])

Vérifier si l'élément existe

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")

Python - Modification des éléments de la liste

Changer la valeur d'un élément

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)

Modifier une plage de valeurs d'éléments

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)

Insertion d'éléments

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.

Python - Ajouter des éléments de liste

Ajouter des éléments à la fin de la liste

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)

Extension de la liste

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.

Ajouter n'importe quel objet itérable

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)

Python - Supprimer des éléments dans une liste

Supprimer l'élément spécifié

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)

Suppression d'un index spécifié

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)

Effacer tout les éléments de la liste

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)

Python - Boucle dans une liste

Boucle dans une liste avec for

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)

Boucler sur les numéros d'index

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])

Utilisation de la boucle While

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

Bouclage à l'aide de List Comprehension

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]

Python - Compréhension de liste

Compréhension de liste

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.

Condition

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'Iterable

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

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)

Python - Trier des listes

Tri alphanumérique d'une liste

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)

Tri décroissant

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)

Personnalisation de la fonction de tri

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)

En python : tri insensible à la casse

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 :
['cahier', 'Gomme', 'livre', 'régle', 'Stylo', 'tableau']

Inverser l'ordre

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']

Python - Copier des listes

Copier une liste

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)

Python - Joindre des listes

Joindre deux listes

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)




Voir aussi nos tutoriel :

Détermine si l'argument peut être appelé comme fonction

 Détermine si l'argument peut être appelé comme fonction

fonction vprintf, vprintf

Affiche une chaîne format e

left

Définit le bord de la marge gauche pour une boîte placée