Les tranches que vous entendez lors de l'apprentissage de python.
Parce que le comportement change en fonction de la spécification de plage et de la quantité de changement spécifiée par plus et moins.
Vérifiez chaque modèle pour voir ce qui se passe lorsque la plage est spécifiée, que la quantité de modification est définie sur plus ou moins, ou lorsque la plage est spécifiée en dehors de la plage et que tout comportement involontaire est évité.
[:]
Non spécifié](# 1-Tout non spécifié)[a:]
Spécifiez uniquement le début](# 2-a Spécifiez uniquement le début)[: b]
Spécifiez uniquement la fin](# 3-b Spécifiez uniquement la fin)[a: b]
Spécifiez le début et la fin](# 4-ab Spécifiez le début et la fin)[a: b: c]
Spécifiez le montant de début, de fin, de modification](# 5-abc spécifie le montant de début de fin de modification)[a :: c]
Début, spécifiez le montant du changement](# 6-ac Spécifiez le montant du changement de début)[: b: c]
Fin, spécifier le montant de la modification](# 7-bc spécifier le montant de la modification de fin)[:: c]
Spécifiez uniquement le montant du changement](# 8-c Spécifiez uniquement le montant du changement)Un type de ** méthode de spécification de plage ** telle que list. Notation pour spécifier la plage avec «[]» et «:».
Des choses comme [1: 5] et [2:] que vous voyez souvent dans la liste et pour les déclarations.
Il peut être utilisé non seulement pour la liste mais aussi pour les chaînes de caractères (str), les tuples, les ensembles, les plages, etc.
Découpez (découpez) des éléments et des caractères consécutifs à n'importe quel endroit.
Si la valeur de départ est négative, ** l'attribution des numéros de tableau changera **. └ Avec le dernier élément comme -1, comptez par -1. └ Le numéro du premier élément est le plus petit
Les conditions pour «a» et «b» changent selon que le montant du changement «c» est positif ou négatif . └ Plus changement: toujours " a <b " └ Le montant de la variation est négatif: toujours " a> b **" └ Aucune erreur ne se produira même si ce n'est pas le cas ci-dessus. Il n'y a pas de données correspondantes (vide).
** N'inclut pas la valeur spécifiée par "b" **. └ Pour terminer avec la valeur spécifiée.
[:]
: Non spécifié = Tout[a:]
: Spécifiez uniquement le début[: b]
: Spécifiez uniquement la fin[a: b]
: Spécifiez le début et la fin[a: b: c]
: Spécifiez le montant de début, de fin, de modification[a :: c]
: Commencez, spécifiez le montant du changement[: b: c]
: Fin, spécifiez le montant de la monnaie[:: c]
: Spécifiez uniquement le montant de la monnaie** Supplément **
9. [a ::]
: Spécifiez uniquement le début (identique à [a:])
10. [: b:]
: Spécifiez uniquement le début (identique à [: b])
(1) Lorsque la valeur de départ est positive 1-1. Type de liste 1-2. Caractère
(2) Lorsque la valeur de départ est négative 2-1. Type de liste 2-2. Caractère
(3) Lorsque le prix de départ est moins et le prix final est plus
(4) Concept lors de la spécification en dehors de la plage
Exemple 1: Quand ʻa = [1,2,3,4,5] `
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence | 0 | 1 | 2 | 3 | 4 |
Les données | 2020 | 3 | 25 | Année | Mois | journée |
---|---|---|---|---|---|---|
Numéro de séquence | 0 | 1 | 2 | 3 | 4 | 5 |
Les données | T | h | i | s | i | s | s | l | i | c | e | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Numéro de séquence | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Les données | Cette | Ré | Mais | 、 | 「 | Su | La | je | Su | 」 | alors | Su | 。 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Numéro de séquence | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Exemple 1: Quand ʻa = [1,2,3,4,5] `
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence | -5 | -4 | -3 | -2 | -1 |
Les données | 2020 | 3 | 25 | Année | Mois | journée |
---|---|---|---|---|---|---|
Numéro de séquence | -6 | -5 | -4 | -3 | -2 | -1 |
Les données | T | h | i | s | i | s | s | l | i | c | e | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Numéro de séquence | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
Les données | Cette | Ré | Mais | 、 | 「 | Su | La | je | Su | 」 | alors | Su | 。 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Numéro de séquence | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
** ■ Pensée ** Le fait qu'il soit positif ou négatif dépend de la méthode ** le nombre est spécifié **.
・ S'il est négatif, reportez-vous aux données correspondant au numéro de séquence (-).
・ S'il est positif, reportez-vous aux données correspondant au numéro de séquence (+).
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence(+) | 0 | 1 | 2 | 3 | 4 |
Numéro de séquence(-) | -5 | -4 | -3 | -2 | -1 |
⇒ 3 à moins de 5. La sortie est [3, 4].
Si les valeurs de début et de fin sont mélangées, il est plus facile de les comprendre en les remplaçant par des nombres positifs, qui correspondent à des nombres négatifs.
・ ` "-3: 4" ` = ` "2: 4" ` ・ ` "-5: 4" ` = ` "0: 4" ` ・ ` "1: -1" ` = ` "1: 5" `
[:]
: Non spécifié = Tout[a:]
: Spécifiez uniquement le début[: b]
: Spécifiez uniquement la fin[a: b]
: Spécifiez le début et la fin[a: b: c]
: Spécifiez le montant de début, de fin, de modification[a :: c]
: Commencez, spécifiez le montant du changement[: b: c]
: Fin, spécifiez le montant de la monnaie[:: c]
: Spécifiez uniquement le montant de la monnaieliste (valeur numérique)
a = [1, 2, 3, 4, 5]
a[:]
#production
# [1, 2, 3, 4, 5]
lettre
c = 'This is slice'
c[:]
#production
# 'This is slice'
Caractère (directement spécifié)
'This is slice'[:]
#production
# 'This is slice'
▼ Numéro de séquence 2e ou supérieur (2 à 4)
Désigné par plus
a = [1, 2, 3, 4, 5]
a[2:]
#production
# [3, 4, 5]
▼ SEQ ID NO: -4e ou plus (-4 à -1)
Précisez avec moins
a = [1, 2, 3, 4, 5]
a[-4:]
#production
# [2, 3, 4, 5]
** ▼ (Supplément) Numéro de séquence de chaque donnée **
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence(+) | 0 | 1 | 2 | 3 | 4 |
Numéro de séquence(-) | -5 | -4 | -3 | -2 | -1 |
▼ Lorsque "6" est spécifié comme valeur de départ dans la liste qui n'a que "4".
(Hors de la plage) Désigné par plus
a = [1, 2, 3, 4, 5]
a[6:]
#production
# []
Pas de coup
(En dehors de la plage) Spécifiez avec moins
a = [1, 2, 3, 4, 5]
a[-10:]
#production
# [1, 2, 3, 4, 5]
-10 à -6 sont vides. -Le 5e coup ou plus.
▼ Numéro de séquence jusqu'au 3e (0 au 2e) └ Moins de 3 (car il se termine au 3ème)
Désigné par plus
a = [1, 2, 3, 4, 5]
a[:3]
#production
# [1, 2, 3]
▼ SEQ ID NO: -1st (-5 à -2) └ Inférieur à -1 (car il se termine à -1)
Précisez avec moins
a = [1, 2, 3, 4, 5]
a[:-1]
#production
# [1, 2, 3, 4]
** ▼ (Supplément) Numéro de séquence de chaque donnée **
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence(+) | 0 | 1 | 2 | 3 | 4 |
Numéro de séquence(-) | -5 | -4 | -3 | -2 | -1 |
▼ Spécifiez le numéro de séquence du 1er à moins de 4. └ 4 n'est pas inclus (3 éléments de 1 à 3)
Désigné par plus
a = [1, 2, 3, 4, 5]
a[1:4]
#production
# [2, 3, 4]
▼ SEQ ID NO: -4e à moins de -2 └ N'inclut pas -2. (2 éléments de -4 à -3)
Précisez avec moins
a = [1, 2, 3, 4, 5]
a[-4:-2]
#production
# [2, 3]
** ▼ (Supplément) Numéro de séquence de chaque donnée **
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence(-) | -5 | -4 | -3 | -2 | -1 |
Si la valeur de départ est négative, reportez-vous à ** Données correspondant au numéro de séquence (-) ** pour la valeur de départ.
Si la valeur de clôture est positive, reportez-vous à ** Données correspondant au numéro de séquence (+) ** pour la valeur de clôture.
Désigné par plus et moins
a = [1, 2, 3, 4, 5]
a[-3:4]
#production
# [3, 4]
[-3: 4]
ne spécifie pas -3 à 4 successivement. Ce n'est pas "-3, -2, -1,0,1,2,3,4".Si les valeurs de début et de fin sont mélangées, il est plus facile de les comprendre en les remplaçant par des nombres positifs, qui correspondent à des nombres négatifs.
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence(+) | 0 | 1 | 2 | 3 | 4 |
Numéro de séquence(-) | -5 | -4 | -3 | -2 | -1 |
・ ` "-5: 4" ` = ` "0: 4" ` ・ ` "1: -1" ` = ` "1: 5" ` ・ ` "-3: 2" ` = ` "2: 2" `
▼ Spécifiez la 10e valeur de fin pour les données jusqu'à la 4e seulement.
Spécifier hors de portée (plus)
a = [1, 2, 3, 4, 5]
a[3:10]
#production
# [4, 5]
Les sixième et suivantes données ne sont pas applicables.
Spécifier hors de portée (moins)
a = [1, 2, 3, 4, 5]
a[-20:-3]
#production
# [1, 2]
Aucun résultat de -20 à -6. Les données de -5 à moins de -3rd sont générées.
Spécifier hors de portée de hors de portée (plus)
a = [1, 2, 3, 4, 5]
a[10:30]
#production
# []
La sortie sera vide.
Spécifier hors de portée de hors de portée (moins)
a = [1, 2, 3, 4, 5]
a[-20:-10]
#production
# []
La sortie sera vide.
▼ Spécifiez hors de la plage de la valeur de départ négative à la valeur finale positive.
Spécifier hors de portée de hors de portée (moins et plus)
a = [1, 2, 3, 4, 5]
a[-20:10]
#production
# [1,2,3,4,5]
Le résultat est le même que [-5: 4]
= [0: 4]
.
-20
Moins de -5 est dû au fait qu'il n'y a pas de données. -5 est la valeur maximale.
-5 correspond à la 0e désignation de plus.
10
Puisqu'il n'y a pas de données après le 4e, 4 est la valeur maximale.
Les données | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Numéro de séquence(+) | 0 | 1 | 2 | 3 | 4 |
Numéro de séquence(-) | -5 | -4 | -3 | -2 | -1 |
▼ Lorsque la valeur de départ 1, la valeur de fin 9 et le montant de modification 2 sont spécifiés.
Spécifiez le montant de début, de fin et de modification(plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[1:9:2]
#production
# [2, 4, 6, 8]
Augmentez le numéro de séquence du 1er au 2ème et exécutez jusqu'à moins de 9. Extraire les données correspondant au numéro.
Spécifiez le montant de début, de fin et de modification(moins)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[8:3:-2]
#production
# [9, 7, 5]
Diminuez le numéro de séquence de 2 à partir du 8e et terminez quand il s'agit du 3e (le 3e n'est pas inclus). Extraire les données correspondant au numéro.
Les données | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Numéro de séquence | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Spécifiez le montant de début, de fin et de modification(moins)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[-3:-8:-2]
#production
# [8, 6, 4]
Diminuez le numéro de séquence de 2 à partir de -3e, et terminez quand il s'agit de -8e (-8e n'est pas inclus). Extraire les données correspondant au numéro.
Les données | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Numéro de séquence | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
▼ Lorsque la valeur de départ 1 et le montant du changement 3 sont spécifiés
Spécifiez uniquement le montant de début et de modification(plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[1::3]
#production
# [2, 5, 8]
Augmentez le nombre de 1 à 3 et exécutez jusqu'à ce qu'il y ait des données.
Spécifiez uniquement le montant de début et de modification(moins)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[5::-1]
#production
# [6, 5, 4, 3, 2, 1]
Diminuez le nombre de 5 à 1 et exécutez jusqu'à ce qu'il y ait des données.
** La valeur de départ est différente ** selon que le montant de la variation est positif ou négatif.
▼ Lorsque la valeur finale 5 et le montant du changement 2 sont spécifiés (valeur de départ 0)
Spécifiez uniquement la fin et modifiez le montant(plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[:5:2]
#production
# [1, 3, 5]
** Valeur de départ 0e ** Augmentez le nombre de 2 et exécutez à moins de 5e (5e n'est pas inclus).
Spécifiez uniquement la fin et modifiez le montant(plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[:5:-2]
#production
# [10, 8]
** Valeur de départ 9e ** Diminuez le nombre de 2 et exécutez à moins de 5e (5e n'est pas inclus).
La valeur de départ est différente selon que le montant de la variation est ** plus ** ou ** moins **.
▼ Lorsque le montant du changement est positif (valeur de départ 0)
Spécifiez uniquement le montant de la monnaie(plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[::3]
#production
# [1, 4, 7, 10]
** Valeur de départ 0e ** Augmentez le nombre de 3 et exécutez jusqu'à ce qu'il y ait des données.
Spécifiez uniquement le montant de la monnaie(moins)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[::-3]
#production
# [10, 7, 4, 1]
** Valeur de départ 1
Diminuez le nombre de 0e ** à 3e et exécutez jusqu'à ce qu'il y ait des données.
Cas d'erreur (type int)
1001[2:]
#production
# TypeError: 'int' object is not subscriptable
Cas d'erreur (type flottant)
123.45[2:5]
#production
# TypeError: 'float' object is not subscriptable
Recommended Posts