Listes Python
Les listes sont l’un des 4 types de données en Python utilisés pour stocker des collections de données.
# List: collection ordonnée d'éléments entre crochets
['John', 'Peter', 'Debora', 'Charles']
Obtenir des valeurs avec des index
# Accéder aux éléments de la liste en utilisant l'index (base 0, le premier élément est à l'index 0)
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[0] # Retourne le premier élément : 'table'
'table'
furniture[1]
'chair'
furniture[2]
'rack'
furniture[3]
'shelf'
Index négatifs
# Index négatif : accéder aux éléments depuis la fin de la liste
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[-1] # Retourne le dernier élément : 'shelf'
'shelf'
furniture[-3]
'chair'
f'The {furniture[-1]} is bigger than the {furniture[-3]}'
'The shelf is bigger than the chair'
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
furniture[-1] si furniture = ['table', 'chair', 'rack', 'shelf'] ?'table''shelf'['shelf']IndexErrorObtenir des sous-listes avec des Slices
# Slicing : obtenir une sous-liste en utilisant la syntaxe [début:fin] (fin est exclusive)
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[0:4] # Retourne les éléments de l'index 0 à 3 (4 exclu)
['table', 'chair', 'rack', 'shelf']
furniture[1:3]
['chair', 'rack']
furniture[0:-1]
['table', 'chair', 'rack']
# Slice depuis le début : omettre l'index de début (par défaut à 0)
furniture[:2] # Retourne les deux premiers éléments
['table', 'chair']
# Slice jusqu'à la fin : omettre l'index de fin (par défaut jusqu'à la fin de la liste)
furniture[1:] # Retourne tous les éléments de l'index 1 jusqu'à la fin
['chair', 'rack', 'shelf']
furniture[:]
['table', 'chair', 'rack', 'shelf']
Le slicing de la liste complète effectuera une copie :
# Le slicing crée une copie : [:] crée une copie superficielle (shallow copy) de la liste
spam = ['cat', 'bat', 'rat', 'elephant']
spam2 = spam[:] # Créer une copie, pas une référence
spam2
['cat', 'bat', 'rat', 'elephant']
spam.append('dog')
spam
['cat', 'bat', 'rat', 'elephant', 'dog']
spam2
['cat', 'bat', 'rat', 'elephant']
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
spam[:] lorsqu'il est appliqué à une liste spam ?Obtenir la longueur d’une liste avec len()
# len() retourne le nombre d'éléments dans une liste
furniture = ['table', 'chair', 'rack', 'shelf']
len(furniture) # Retourne 4
4
Modifier des valeurs avec des index
# Modifier les éléments de la liste en assignant de nouvelles valeurs aux index
furniture = ['table', 'chair', 'rack', 'shelf']
furniture[0] = 'desk' # Remplacer le premier élément
furniture
['desk', 'chair', 'rack', 'shelf']
furniture[2] = furniture[1]
furniture
['desk', 'chair', 'chair', 'shelf']
furniture[-1] = 'bed'
furniture
['desk', 'chair', 'chair', 'bed']
Concaténation et Répétition
# Concaténation de listes : combiner deux listes en utilisant l'opérateur +
[1, 2, 3] + ['A', 'B', 'C'] # Retourne [1, 2, 3, 'A', 'B', 'C']
[1, 2, 3, 'A', 'B', 'C']
# Répétition de liste : répéter la liste plusieurs fois en utilisant l'opérateur *
['X', 'Y', 'Z'] * 3 # Retourne ['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
my_list = [1, 2, 3]
my_list = my_list + ['A', 'B', 'C']
my_list
[1, 2, 3, 'A', 'B', 'C']
Utilisation de boucles for avec des Listes
# Itérer sur les éléments de la liste en utilisant une boucle for
furniture = ['table', 'chair', 'rack', 'shelf']
for item in furniture: # Boucler sur chaque élément
print(item)
table
chair
rack
shelf
Obtenir l’index dans une boucle avec enumerate()
# enumerate() retourne à la fois l'index et la valeur dans une boucle
furniture = ['table', 'chair', 'rack', 'shelf']
for index, item in enumerate(furniture): # Obtenir l'index et l'élément ensemble
print(f'index: {index} - item: {item}')
index: 0 - item: table
index: 1 - item: chair
index: 2 - item: rack
index: 3 - item: shelf
Boucler sur plusieurs listes avec zip()
# zip() combine plusieurs listes élément par élément dans une boucle
furniture = ['table', 'chair', 'rack', 'shelf']
price = [100, 50, 80, 40]
for item, amount in zip(furniture, price): # Associer les éléments des deux listes
print(f'The {item} costs ${amount}')
The table costs $100
The chair costs $50
The rack costs $80
The shelf costs $40
Les opérateurs in et not in
# Opérateur in : vérifier si un élément existe dans une liste
'rack' in ['table', 'chair', 'rack', 'shelf'] # Retourne True
True
'bed' in ['table', 'chair', 'rack', 'shelf']
False
furniture = ['table', 'chair', 'rack', 'shelf']
'bed' not in furniture
True
'rack' not in furniture
False
L’astuce de l’affectation multiple
L’astuce de l’affectation multiple est un raccourci qui vous permet d’assigner plusieurs variables avec les valeurs d’une liste en une seule ligne de code. Donc au lieu de faire ceci :
furniture = ['table', 'chair', 'rack', 'shelf']
table = furniture[0]
chair = furniture[1]
rack = furniture[2]
shelf = furniture[3]
Vous pourriez taper cette ligne de code :
furniture = ['table', 'chair', 'rack', 'shelf']
table, chair, rack, shelf = furniture
table
'table'
chair
'chair'
rack
'rack'
shelf
'shelf'
L’astuce de l’affectation multiple peut également être utilisée pour échanger les valeurs de deux variables :
a, b = 'table', 'chair'
a, b = b, a
print(a)
chair
print(b)
table
La méthode index
La méthode index vous permet de trouver l’index d’une valeur en passant son nom :
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.index('chair')
1
Ajouter des Valeurs
append()
append ajoute un élément à la fin d’une list :
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.append('bed')
furniture
['table', 'chair', 'rack', 'shelf', 'bed']
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
append() sur une liste ?insert()
insert ajoute un élément à une list à une position donnée :
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.insert(1, 'bed')
furniture
['table', 'bed', 'chair', 'rack', 'shelf']
Supprimer des Valeurs
del
del supprime un élément en utilisant l’index :
furniture = ['table', 'chair', 'rack', 'shelf']
del furniture[2]
furniture
['table', 'chair', 'shelf']
del furniture[2]
furniture
['table', 'chair']
remove()
remove supprime un élément en utilisant sa valeur réelle :
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.remove('chair')
furniture
['table', 'rack', 'shelf']
Supprimer des éléments répétés
Si la valeur apparaît plusieurs fois dans la liste, seule la première occurrence de la valeur sera supprimée.
pop()
Par défaut, pop supprime et retourne le dernier élément de la liste. Vous pouvez également passer l’index de l’élément comme paramètre optionnel :
animals = ['cat', 'bat', 'rat', 'elephant']
animals.pop()
'elephant'
animals
['cat', 'bat', 'rat']
animals.pop(0)
'cat'
animals
['bat', 'rat']
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage
pop() lorsqu'il est appelé sur une liste ?Trier les valeurs avec sort()
numbers = [2, 5, 3.14, 1, -7]
numbers.sort()
numbers
[-7, 1, 2, 3.14, 5]
furniture = ['table', 'chair', 'rack', 'shelf']
furniture.sort()
furniture
['chair', 'rack', 'shelf', 'table']
Vous pouvez également passer True pour l’argument mot-clé reverse pour que sort() trie les valeurs dans l’ordre inverse :
furniture.sort(reverse=True)
furniture
['table', 'shelf', 'rack', 'chair']
Si vous avez besoin de trier les valeurs dans l’ordre alphabétique normal, passez str.lower pour l’argument mot-clé key dans l’appel de la méthode sort() :
letters = ['a', 'z', 'A', 'Z']
letters.sort(key=str.lower)
letters
['a', 'A', 'z', 'Z']
Vous pouvez utiliser la fonction intégrée sorted pour retourner une nouvelle liste :
furniture = ['table', 'chair', 'rack', 'shelf']
sorted(furniture)
['chair', 'rack', 'shelf', 'base-title']
Le type de données Tuple
La différence clé entre les tuples et les listes est que, tandis que les tuples sont des objets immuables, les listes sont mutables. Cela signifie que les tuples ne peuvent pas être modifiés alors que les listes peuvent être modifiées. Les tuples sont plus économes en mémoire que les listes.
furniture = ('table', 'chair', 'rack', 'shelf')
furniture[0]
'table'
furniture[1:3]
('chair', 'rack')
len(furniture)
4
La principale façon dont les tuples diffèrent des listes est que les tuples, comme les chaînes de caractères, sont immuables.
Conversion entre list() et tuple()
tuple(['cat', 'dog', 5])
('cat', 'dog', 5)
list(('cat', 'dog', 5))
['cat', 'dog', 5]
list('hello')
['h', 'e', 'l', 'l', 'o']
Connectez-vous pour répondre à ce quiz et suivre votre progression d'apprentissage