Comprendre la notation slice de Python
La notation slice de Python offre un moyen pratique d'extraire des sous-ensembles d'éléments à partir de séquences telles que des listes, des tuples et des chaînes. La syntaxe est la suivante :
a[start:stop] # items start through stop-1 a[start:] # items start through the rest of the array a[:stop] # items from the beginning through stop-1 a[:] # a copy of the whole array
L'aspect clé à retenir est que la valeur d'arrêt représente la première valeur non incluse dans la tranche. Ainsi, la différence entre stop et start indique le nombre d'éléments sélectionnés (avec l'étape par défaut à 1).
Utilisation de valeurs négatives
Les valeurs de démarrage ou d'arrêt négatives sont acceptées , en comptant à partir de la fin de la séquence plutôt que du début. Exemples :
a[-1] # last item in the array a[-2:] # last two items in the array a[:-2] # everything except the last two items
Les valeurs de pas négatives sont également autorisées. Par exemple :
a[::-1] # all items in the array, reversed a[1::-1] # the first two items, reversed a[:-3:-1] # the last two items, reversed a[-3::-1] # everything except the last two items, reversed
Gestion des cas Edge
Python gère les demandes d'éléments en dehors de la séquence avec élégance. Par exemple, si vous demandez a[:-2] et que a ne contient qu'un seul élément, vous recevrez une liste vide plutôt qu'une erreur.
Relation avec les objets Slice
Les opérations de découpage peuvent être représentées par des objets slice :
a[start:stop:step]
C'est équivalent to :
a[slice(start, stop, step)]
Les objets Slice peuvent être utilisés avec différents nombres d'arguments, similaire à range(). Par exemple :
a[start:] = a[slice(start, None)] a[::-1] = a[slice(None, None, -1)]
Conclusion
La notation de découpage polyvalente de Python fournit un moyen concis et efficace d'extraire des sous-ensembles d'éléments à partir de séquences. Comprendre ces concepts est crucial pour travailler efficacement avec des données en Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!