À propos des tranches Python

Qu'est-ce qu'une tranche?

Si vous touchez Python dans une certaine mesure, vous pouvez voir le mot slice, mais je pense que vous pouvez le comprendre parce que vous l'utilisez souvent, mais c'était en fait assez compliqué, alors je l'ai écrit sous forme d'article.

Une tranche est une syntaxe (?) Qui vous donne un accès facile aux éléments d'une séquence.

Les opérations de tranche sont disponibles dans les types couramment utilisés tels que list et str, donc connaître les tranches peut être très utile.

Utilisation de base

Utilisez-le comme une [Position de départ: Position de fin].

Par exemple

a = [1, 2, 3, 4, 5]
print(a[0: 4])
print(a[: 4])
print(a[-3:])
print(a[2: -1])

>>>
[1, 2, 3, 4]
[1, 2, 3, 4]
[3, 4, 5]
[3, 4]

C'est comme ça. Si vous n'entrez rien à la position de départ, il sera traité comme 0, et si vous n'entrez rien à la position finale, il sera traité comme la fin, il est donc préférable de ne pas écrire dans un tel cas.

Cela peut être un peu déroutant s'il y a un moins, mais si vous l'utilisez, vous pouvez facilement spécifier la liste et la fin, donc si vous vous y habituez, le monde changera (je pense que c'est un peu exagéré).

Jusque-là, je connaissais les tranches, mais en réalité il y avait une façon d'écrire plus compliquée ...!

Méthode de tranchage récemment étudiée

a [Position de départ: Position finale: Incrément de tranche].

En spécifiant l'incrément de la tranche, vous pouvez "obtenir l'élément tous les nièmes".

Par exemple

a = [1, 2, 3, 4, 5]
print(a[:: 2])
print(a[1:: 2])
print(a[::-1])
print(a[1::-1])

>>>
[1, 3, 5]
[2, 4]
[5, 4, 3, 2, 1]
[2, 1]

est. Voilà ce que c'est. C'est compliqué, mais ce serait bien si vous pouviez le maîtriser! Surtout -1 semble être tout à fait utilisable.

Cependant, si vous combinez ces trois éléments, il faudra peut-être un certain temps pour comprendre. Quand j'ai revu le programme que j'ai créé plus tôt, c'était comme: "Quoi? Qu'arrivera-t-il à cela?"

Je ne sais pas s'il est bon de considérer la lisibilité, mais je pense que cela vaut la peine de le savoir.

C'est pourquoi c'était une histoire dont les tranches sont également profondes.

Recommended Posts

À propos des tranches Python
À propos de la notation d'inclusion de python
À propos de Python tqdm.
À propos du rendement Python
À propos de python, classe
À propos de l'héritage Python
À propos de python, range ()
À propos de Python Decorator
À propos de la référence Python
À propos des décorateurs Python
[Python] À propos du multi-processus
À propos de Python for loop
À propos des arguments de fonction (python)
En savoir plus sur les tranches Go
[Python] Mémo sur les fonctions
Résumé sur Python3 + OpenCV3
À propos de Python, pour ~ (plage)
[Python] Mémo sur les erreurs
À propos de l'environnement de développement Python
Python: à propos des arguments de fonction
Python, à propos de la gestion des exceptions
À propos de Python Pyramid Traversal
Essayez 9 tranches en Python
À propos de Python3 ... (objet Ellipsis)
[Python] Chapitre 01-01 À propos de Python (First Python)
[Python] À propos de l'entrée standard
À propos de __all__ en python
[Python] En savoir plus sur pip
Prise en charge de Fabric pour Python 3
Python
À propos des objets et des classes Python
À propos des variables et des objets Python
À propos du module Python venv
fonction de mémorandum python pour débutant
À propos de la fonction enumerate (python)
À propos de divers encodages de Python 3
À propos de Python, len () et randint ()
À propos de Perl, Python, PHP, Ruby
À propos de la date et du fuseau horaire Python
Mémorandum sur la corrélation [Python]
Un mémorandum sur le simulacre de Python
À propos des opérateurs de comparaison de chaînes Python
À propos de Python et des expressions régulières
À propos des fonctionnalités de Python
À propos de "for _ in range ():" de python
À propos des opérations Python et OS
Python # À propos de la référence et de la copie
À propos de Python sort () et reverse ()
Une note sur [python] __debug__
Remarque Python: à propos de la comparaison en utilisant is
À propos de l'installation des séries Pwntools et Python2
Python: une note sur les classes 1 "Résumé"
[Python] Écrivons brièvement la notation d'inclusion
À propos de Python dict et des fonctions triées
À propos de Python et Cython dtype
[Python] Qu'est-ce que @? (À propos des décorateurs)
Ce qui était surprenant dans les classes Python