Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Opérations sur les listes Python : création, accès, modification et techniques avancées

Opérations sur les listes Python

Les listes Python sont l'une des structures de données les plus polyvalentes du langage, permettant de stocker, organiser et manipuler des séquences de valeurs efficacement. Ce guide couvre tout : création, accès, modification, tranchage, compréhensions et méthodes intégrées.

Vidéo : Listes et tuples Python

Les listes Python permettent de travailler avec plusieurs éléments simultanément. Par exemple :

# une liste de langages de programmation
['Python', 'C++', 'JavaScript']

Créer des listes Python

Une liste se crée en plaçant des éléments entre crochets [], séparés par des virgules. Les listes peuvent contenir n'importe quel nombre d'éléments et supportent les types de données mixtes.

# liste d'entiers
my_list = [1, 2, 3]

Exemples :

# liste vide
my_list = []
# types de données mixtes
my_list = [1, "Bonjour", 3.4]

Une liste peut aussi contenir une autre liste, créant une structure imbriquée :

# liste imbriquée
my_list = ["souris", [8, 4, 6], ["a"]]

Accéder aux éléments d'une liste

Python offre plusieurs façons d'accéder aux éléments.

Indexation

Utilisez l'opérateur []. Les indices commencent à 0 ; tenter d'accéder à un index hors limites lève IndexError, tandis que des indices non-entiers lèvent TypeError.

my_list = ['p', 'r', 'o', 'b', 'e']
print(my_list[0])  # p
print(my_list[2])  # o
print(my_list[4])  # e
n_list = ["Heureux", [2, 0, 1, 5]]
print(n_list[0][1])  # a
print(n_list[1][3])  # 5
print(my_list[4.0])  # TypeError

Sortie

p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float

Indexation négative

Les indices négatifs comptent depuis la fin de la liste : -1 est le dernier élément, -2 l'avant-dernier, etc.

my_list = ['p','r','o','b','e']
print(my_list[-1])  # e
print(my_list[-5])  # p

Sortie

e p
Opérations sur les listes Python : création, accès, modification et techniques avancées

Tranchage de liste (slicing)

Le tranchage extrait une plage d'éléments avec l'opérateur deux-points :. L'index de début est inclusif ; l'index de fin est exclusif.

my_list = ['p','r','o','g','r','a','m','i','z']
print(my_list[2:5])  # ['o', 'g', 'r']
print(my_list[5:])   # ['a', 'm', 'i', 'z']
print(my_list[:])    # liste complète

Sortie

['o', 'g', 'r'] ['a', 'm', 'i', 'z'] ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']

Note : Le tranchage retourne une nouvelle liste ; l'originale reste inchangée.


Modifier les éléments d'une liste

Les listes sont mutables. Vous pouvez remplacer des éléments uniques ou des tranches.

odd = [2, 4, 6, 8]
odd[0] = 1
print(odd)
odd[1:4] = [3, 5, 7]
print(odd)

Sortie

[1, 4, 6, 8] [1, 3, 5, 7]

Ajoutez des éléments avec append() (un seul) ou extend() (plusieurs). Utilisez + pour la concaténation et * pour la répétition.

odd = [1, 3, 5]
odd.append(7)
print(odd)
odd.extend([9, 11, 13])
print(odd)
print(odd + [9, 7, 5])
print(["re"] * 3)

Sortie

[1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13] [1, 3, 5, 9, 7, 5] ['re', 're', 're']

Insérez des éléments à un index spécifique avec insert() ou en assignant à une tranche vide.

odd = [1, 9]
odd.insert(1, 3)
print(odd)
odd[2:2] = [5, 7]
print(odd)

Sortie

[1, 3, 9] [1, 3, 5, 7, 9]

Supprimer des éléments d'une liste

Utilisez del pour supprimer des éléments par index ou tranche, ou pour supprimer la liste entière. remove() supprime la première occurrence d'une valeur, pop() retire et retourne un élément par index (ou le dernier si aucun index n'est donné). clear() vide la liste.

my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
# supprimer un élément
del my_list[2]
print(my_list)
# supprimer plusieurs éléments
del my_list[1:5]
print(my_list)
# supprimer la liste entière
del my_list
print(my_list)  # NameError

Sortie

['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined

Suppression alternative via assignation de tranche :

>>> my_list = ['p','r','o','b','l','e','m']
>>> my_list[2:3] = []
>>> my_list
['p', 'r', 'b', 'l', 'e', 'm']
>>> my_list[2:5] = []
>>> my_list
['p', 'r', 'm']

Méthodes courantes des listes

MéthodeDescription
append()Ajoute un élément à la fin
extend()Ajoute tous les éléments d'un itérable
insert()Insère un élément à un index spécifié
remove()Supprime la première occurrence d'une valeur
pop()Supprime et retourne un élément par index (ou le dernier)
clear()Vide la liste
index()Retourne le premier index d'une valeur
count()Compte les occurrences d'une valeur
sort()Trie la liste par ordre croissant
reverse()Inverse l'ordre de la liste
copy()Retourne une copie superficielle
my_list = [3, 8, 1, 6, 8, 8, 4]
my_list.append('a')
print(my_list)
print(my_list.index(8))  # 1
print(my_list.count(8))  # 3

Compréhension de liste

Les compréhensions de liste offrent une façon concise de générer des listes.

pow2 = [2 ** x for x in range(10)]
print(pow2)

Sortie

[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]

Équivalent à :

pow2 = []
for x in range(10):
    pow2.append(2 ** x)

Les compréhensions peuvent inclure plusieurs clauses for ou un filtre if.

>>> pow2 = [2 ** x for x in range(10) if x > 5]
>>> pow2
[64, 128, 256, 512]
>>> odd = [x for x in range(20) if x % 2 == 1]
>>> odd
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y for x in ['Python ','C '] for y in ['Langage','Programmation']]
['Python Langage', 'Python Programmation', 'C Langage', 'C Programmation']

Explorez plus dans la documentation officielle Python.


Opérations supplémentaires sur les listes

Test d'appartenance

Vérifiez si une valeur existe avec in ou not in.

my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
print('p' in my_list)   # True
print('a' in my_list)   # False
print('c' not in my_list)  # True

Sortie

True False True

Itérer sur une liste

Utilisez une boucle for pour traiter chaque élément.

for fruit in ['pomme','banane','mangue']:
    print("J'aime", fruit)

Sortie

J'aime pomme J'aime banane J'aime mangue

Python

  1. Maîtriser les types de données Python : Guide pratique
  2. Maîtriser les opérateurs Python : Guide complet
  3. Maîtriser l'instruction pass en Python : Guide pratique
  4. Maîtriser les arguments de fonctions Python : Positionnels, nommés et paramètres par défaut
  5. Maîtriser time.sleep() en Python : Bonnes pratiques, multithreading et exemples réels
  6. Maîtriser les Listes Python : Append, Sort, Longueur & Compréhensions de Liste (Guide Pratique)
  7. Calculer des Moyennes en Python : Guide Pratique
  8. Python list.count() : Guide Expert avec Exemples Pratiques
  9. Comment Supprimer les Éléments Dupliqués d'une Liste Python