3.1 Intervalle d'index
Obtenir une sous-liste d'une liste est une tâche courante qui est résolue avec le mécanisme des slices. Les slices permettent d'extraire des éléments d'une liste en spécifiant les index de début et de fin de l'intervalle, ainsi que le pas avec lequel extraire les éléments.
Utilisation des slices
Vous pouvez obtenir une slice d'une liste en utilisant la syntaxe list[start
:stop
:step
], où :
-
start
— index de début (inclus) ; -
stop
— index de fin (exclu) ; -
step
— pas avec lequel les éléments sont sélectionnés.
La syntaxe des slices permet de spécifier les index de début et de fin de la liste que vous souhaitez extraire. N'oubliez pas que l'indexation en Python commence à zéro, donc le premier élément a l'index 0, et le troisième a l'index 2.
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# Extraction de la sous-liste du troisième au septième élément
sub_list = my_list[2:7]
print(sub_list) # [2, 3, 4, 5, 6]
# Extraction de chaque deuxième élément de la liste
step_list = my_list[0:10:2]
print(step_list) # [0, 2, 4, 6, 8]
Si start
n'est pas spécifié, par défaut, il est égal au début de la liste, et si stop
n'est pas spécifié,
il est égal à la fin de la liste. Si step
n'est pas spécifié, il est par défaut égal à 1.
Exemples :
my_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# Du début à l'élément troisième
sub_list = my_list[:3]
print(sub_list) # [0, 1, 2]
# De l'élément/index premier à la fin
step_list = my_list[1:]
print(step_list) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
3.2 Index négatifs
En Python, les index négatifs fournissent un moyen puissant de travailler avec les listes, permettant d'accéder aux éléments à partir de la fin de la liste. C'est particulièrement utile pour obtenir des sous-listes sans connaître la longueur exacte de la liste d'origine.
Les index négatifs en Python commencent à -1, ce qui correspond au dernier élément de la liste. -2 indiquera l'avant-dernier élément, et ainsi de suite. L'utilisation d'index négatifs simplifie l'accès aux éléments à partir de la fin de la liste sans avoir à calculer leur position depuis le début.
Exemples d'utilisation
Supposons que vous ayez une liste :
my_list = ['a', 'b', 'c', 'd', 'e']
Pour obtenir les trois derniers éléments, vous pouvez utiliser une slice avec des index négatifs :
sub_list = my_list[-3:]
print(sub_list) # Affichera ['c', 'd', 'e']
Si vous devez obtenir une sous-liste entre certains éléments en partant de la fin, vous pouvez combiner des index négatifs et positifs :
sub_list = my_list[-4:3]
print(sub_list) # Affichera ['b', 'c']
Vous pouvez même inverser la liste
Avec le paramètre step, vous pouvez créer des slices plus complexes, par exemple, pour extraire des éléments dans l'ordre inverse :
sub_list = my_list[::-1]
print(sub_list) # Affichera ['e', 'd', 'c', 'b', 'a']
Avantages de l'utilisation des index négatifs :
- Simplification du code: L'accès aux éléments depuis la fin de la liste devient intuitif et ne nécessite pas de calculs supplémentaires.
- Polyvalence: L'approche fonctionne avec n'importe quelle liste, indépendamment de sa taille.
- Lisibilité: Le code devient plus facile à lire et à comprendre, surtout quand il s'agit de travailler avec les derniers éléments de la liste.
Les index négatifs sont un outil puissant dans l'arsenal du programmeur Python, permettant de gérer efficacement et succinctement les sous-listes, en améliorant la lisibilité et la flexibilité du code.
3.3 L'élément est-il dans la liste ?
Vérifier la présence d'un élément dans une liste est souvent utilisé pour gérer le flux de données et la logique des programmes. En Python,
cela peut être fait en utilisant l'opérateur in
, qui renvoie True
si l'élément
est présent dans la liste, et False
sinon.
Utilisation de l'opérateur in
L'opérateur in
est un moyen simple et intuitif pour vérifier la présence d'un élément :
my_list = [1, 2, 3, 4, 5]
element = 3
exists = element in my_list
print(exists) # Affichera True
Application dans les expressions conditionnelles
L'opérateur in
est souvent utilisé dans les instructions conditionnelles, par exemple :
my_list = ["apple", "banana", "cherry"]
element = "apple"
if element in my_list:
print("L'élément est dans la liste.")
else:
print("Élément non trouvé.")
Utile !
La recherche d'un élément avec in
est efficace pour les petites ou
moyennes listes. Cependant, pour de grandes données ou des opérations de recherche fréquentes, il peut être plus efficace d'utiliser
d'autres structures de données, comme les ensembles (set
), qui permettent une recherche plus rapide.
GO TO FULL VERSION