Comment découper une liste en Python (indices, étapes et inversion)
Apprenez à découper des listes en Python à l'aide de la puissante syntaxe entre crochets. Maîtrisez les arguments de démarrage, d’arrêt et d’étape, l’indexation négative et les listes d’inversion.
Aperçu
Le découpage est l'une des fonctionnalités les plus intuitives et les plus puissantes de Python, vous permettant d'extraire des sous-ensembles d'une liste, d'un tuple ou d'une chaîne avec une syntaxe claire et concise. Au lieu d'écrire des boucles détaillées pour copier des éléments spécifiques d'une liste, la notation slice de Python vous permet de spécifier une plage d'indices entre crochets.
La syntaxe complète du découpage de liste est `my_list[start:stop:step]`. L'index `start` est inclusif, l'index `stop` est exclusif et `step` définit l'incrément entre les éléments (par défaut à 1). Si vous omettez « start », Python se place par défaut au début de la liste. Si vous omettez « stop », Python se place par défaut à la fin de la liste. Cela rend l’extraction de parties de collections très expressive.
Le découpage est également extrêmement polyvalent car il prend en charge les indices négatifs. Un index de début ou de fin négatif compte à rebours à partir de la fin de la liste (où « -1 » représente le dernier élément). En définissant une valeur de pas négative, telle que « my_list[::-1] », vous pouvez rapidement récupérer une copie inversée de la liste. Comprendre les plages de tranches est essentiel pour une extraction propre des données.
Sortie de code et d'exécution
Ce script illustre le découpage de liste à l'aide de différentes plages de démarrage, d'arrêt, d'étapes, d'indexation négative et d'inversion de liste.
numbers = [0, 10, 20, 30, 40, 50, 60, 70, 80]
# 1. Basic slicing: elements from index 2 up to (but excluding) 6
subset = numbers[2:6]
print("Subset [2:6]:", subset)
# 2. Omitting indices: start to index 4, and index 5 to end
first_five = numbers[:5]
last_four = numbers[5:]
print("First five [:5]:", first_five)
print("Last four [5:]:", last_four)
# 3. Using a step parameter: get every second element
every_second = numbers[::2]
print("Every second [::2]:", every_second)
# 4. Negative indexing: get the last three elements
last_three = numbers[-3:]
print("Last three [-3:]:", last_three)
# 5. Reverse the list using step=-1
reversed_numbers = numbers[::-1]
print("Reversed list [::-1]:", reversed_numbers)Subset [2:6]: [20, 30, 40, 50]
First five [:5]: [0, 10, 20, 30, 40]
Last four [5:]: [50, 60, 70, 80]
Every second [::2]: [0, 20, 40, 60, 80]
Last three [-3:]: [60, 70, 80]
Reversed list [::-1]: [80, 70, 60, 50, 40, 30, 20, 10, 0]Mise en œuvre étape par étape
- Utilisez list[start:stop] pour extraire les éléments du début de l'index jusqu'à l'arrêt, mais sans l'inclure.
- Omettez les indices de début ou d'arrêt (par exemple, list[:4] ou list[4:]) pour découper à partir de la limite de la liste.
- Passez un troisième argument à l'intérieur de la liste des crochets[::step] pour ignorer des éléments à intervalles réguliers.
- Utilisez des indices négatifs pour compter les éléments à rebours à partir de la fin de la collection.
Foire aux questions
Le découpage modifie-t-il la liste d'origine ?
Non, le découpage de liste renvoie une copie superficielle de la plage demandée, laissant la liste d'origine entièrement inchangée.
Que se passe-t-il si les indices de tranche sont hors limites ?
Contrairement à l'accès à un index unique qui génère une IndexError, le découpage est indulgent et limite simplement la plage aux limites de la liste, renvoyant une liste vide si aucun élément ne tombe dans la plage.
Sujets connexes
Apprenez à copier une liste en Python. Explorez le découpage de liste, la méthode copy(), les constructeurs de liste et maîtrisez la différence entre les copies superficielles et profondes.
Comment inverser une chaîne en PythonApprenez à inverser une chaîne en Python à l'aide du découpage, de la fonction reversed() et de la concaténation de boucles avec des exemples de code visuel.
Comment trouver la longueur d'une liste en PythonApprenez à trouver la longueur d'une liste en Python à l'aide de la fonction len(). Comprendre la complexité temporelle O(1) et les comptes de vérification.
Ressources Python recommandées
Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.
Variables et types de données Python expliqués
Comprendre les variables Python et les types de données de base (chaînes, entiers, flottants, booléens). Un guide complet pour débutants sur l'affectation de mémoire en Python.
Aide-mémoire sur les méthodes de liste Python
Guide de référence rapide pour les opérations de liste Python. Maîtrisez l’ajout, l’insertion, la suppression, le tri et le découpage d’éléments.
Python vs JavaScript : quel langage de programmation est le meilleur ?
Une comparaison complète entre Python et JavaScript. Explorez les différences de syntaxe, les performances, les cas d'utilisation (backend et frontend) et des exemples de codage.