Scheiben, die Sie beim Lernen von Python hören.
Weil sich das Verhalten abhängig von der Bereichsspezifikation und dem durch Plus und Minus angegebenen Änderungsbetrag ändert.
Überprüfen Sie jedes Muster, um festzustellen, was passiert, wenn der Bereich angegeben wird, der Änderungsbetrag auf Plus oder Minus festgelegt wird oder wenn der Bereich außerhalb des Bereichs angegeben wird und unbeabsichtigtes Verhalten verhindert wird.
[:]
Nicht angegeben](# 1-Alle nicht angegeben)[a:]
Nur Start angeben](# 2-a Nur Start angeben)[: b]
Nur das Ende angeben](# 3-b Nur das Ende angeben)[a: b]
Start und Ende angeben](# 4-ab Start und Ende angeben)[a: b: c]
Start, Ende, Änderungsbetrag angeben](# 5-abc Start-Ende Ende Änderungsbetrag angeben)[a :: c]
Start, Änderungsbetrag angeben](# 6-ac Startänderungsbetrag angeben)[: b: c]
Ende, Änderungsbetrag angeben](# 7-bc Ende Änderungsbetrag angeben)[:: c]
Nur den Änderungsbetrag angeben](# 8-c Nur den Änderungsbetrag angeben)Eine Art von ** Bereichsspezifikationsmethode ** wie z. B. Liste.
Notation zur Angabe des Bereichs mit []
und :
.
Dinge wie [1: 5] und [2:], die Sie oft in der Liste und für Aussagen sehen.
Es kann nicht nur für Listen verwendet werden, sondern auch für Zeichenfolgen (str), Tupel (Tupel), Set (Set), Range (Range) usw.
Schneiden Sie aufeinanderfolgende Elemente und Zeichen an einer beliebigen Stelle aus.
Wenn der Startwert negativ ist, ** ändert sich die Zuordnung der Array-Nummern **. └ Mit dem letzten Element als -1 zählen Sie mit -1. └ Die Nummer des ersten Elements ist die kleinste
Die Bedingungen für "a" und "b" ändern sich je nachdem, ob der Änderungsbetrag "c" positiv oder negativ ist . └ Plus ändern: Immer " a <b " └ Der Änderungsbetrag ist negativ: immer " a> b **" └ Es tritt kein Fehler auf, auch wenn dies nicht der Fall ist. Es gibt keine entsprechenden Daten (leer).
** Enthält nicht den durch "b" angegebenen Wert **. └ Um mit dem angegebenen Wert zu enden.
[:]
: Nicht angegeben = Alle[a:]
: Geben Sie nur den Start an[: b]
: Geben Sie nur das Ende an[a: b]
: Geben Sie Start und Ende an[a: b: c]
: Geben Sie Start, Ende und Änderungsbetrag an[a :: c]
: Start, geben Sie den Änderungsbetrag an[: b: c]
: Ende, geben Sie den Änderungsbetrag an[:: c]
: Geben Sie nur den Änderungsbetrag an** Ergänzung **
9. [a ::]
: Geben Sie nur den Start an (wie [a:])
10. [: b:]
: Geben Sie nur den Start an (wie [: b])
(1) Wenn der Startwert positiv ist 1-1. Listentyp 1-2. Charakter
(2) Wenn der Startwert negativ ist 2-1. Listentyp 2-2. Charakter
(3) Wenn der Startpreis minus und der Endpreis plus ist
(4) Konzept bei Angabe außerhalb des Bereichs
Beispiel 1: Wenn "a = [1,2,3,4,5]"
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer | 0 | 1 | 2 | 3 | 4 |
Daten | 2020 | 3 | 25 | Jahr | Mond | Tag |
---|---|---|---|---|---|---|
Sequenznummer | 0 | 1 | 2 | 3 | 4 | 5 |
Daten | T | h | i | s | i | s | s | l | i | c | e | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sequenznummer | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Daten | Dies | Re | Aber | 、 | 「 | Su | La | ich | Su | 」 | damit | Su | 。 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sequenznummer | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
Beispiel 1: Wenn "a = [1,2,3,4,5]"
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer | -5 | -4 | -3 | -2 | -1 |
Daten | 2020 | 3 | 25 | Jahr | Mond | Tag |
---|---|---|---|---|---|---|
Sequenznummer | -6 | -5 | -4 | -3 | -2 | -1 |
Daten | T | h | i | s | i | s | s | l | i | c | e | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sequenznummer | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
Daten | Dies | Re | Aber | 、 | 「 | Su | La | ich | Su | 」 | damit | Su | 。 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sequenznummer | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
** ■ Denkweise ** Ob es positiv oder negativ ist, hängt davon ab, welche Methode ** die Nummer angegeben ist **.
・ Wenn es negativ ist, beziehen Sie sich auf die Daten, die der Sequenznummer (-) entsprechen.
-Wenn positiv, beziehen Sie sich auf die Daten, die der Sequenznummer (+) entsprechen.
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer(+) | 0 | 1 | 2 | 3 | 4 |
Sequenznummer(-) | -5 | -4 | -3 | -2 | -1 |
⇒ 3 bis weniger als 5. Die Ausgabe ist [3, 4].
Wenn die Start- und Endwerte gemischt sind, ist es einfacher zu verstehen, wenn Sie sie durch positive Zahlen ersetzen, die negativen Zahlen entsprechen.
・ ` -3: 4 ` = ` 2: 4 ` ・ ` -5: 4 ` = ` 0: 4 ` ・ ` 1: -1 ` = ` 1: 5 `
[:]
: Nicht angegeben = Alle[a:]
: Geben Sie nur den Start an[: b]
: Geben Sie nur das Ende an[a: b]
: Geben Sie Start und Ende an[a: b: c]
: Geben Sie Start, Ende und Änderungsbetrag an[a :: c]
: Start, geben Sie den Änderungsbetrag an[: b: c]
: Ende, geben Sie den Änderungsbetrag an[:: c]
: Geben Sie nur den Änderungsbetrag anListe (numerischer Wert)
a = [1, 2, 3, 4, 5]
a[:]
#Ausgabe
# [1, 2, 3, 4, 5]
Brief
c = 'This is slice'
c[:]
#Ausgabe
# 'This is slice'
Zeichen (direkt angegeben)
'This is slice'[:]
#Ausgabe
# 'This is slice'
▼ Sequenznummer 2. oder höher (2 bis 4)
Bezeichnet von plus
a = [1, 2, 3, 4, 5]
a[2:]
#Ausgabe
# [3, 4, 5]
▼ SEQ ID NO: -4. Oder höher (-4 bis -1)
Mit Minus angeben
a = [1, 2, 3, 4, 5]
a[-4:]
#Ausgabe
# [2, 3, 4, 5]
** ▼ (Ergänzung) Sequenznummer jeder Daten **
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer(+) | 0 | 1 | 2 | 3 | 4 |
Sequenznummer(-) | -5 | -4 | -3 | -2 | -1 |
▼ Wenn "6" als Startwert in der Liste angegeben ist, die nur "4" enthält.
(Außerhalb des Bereichs) Bezeichnet mit Plus
a = [1, 2, 3, 4, 5]
a[6:]
#Ausgabe
# []
Kein Treffer
(Außerhalb des Bereichs) Mit Minus angeben
a = [1, 2, 3, 4, 5]
a[-10:]
#Ausgabe
# [1, 2, 3, 4, 5]
-10 bis -6 sind leer. -Der fünfte oder höhere Treffer.
▼ Sequenznummer bis 3. (0 bis 2.) └ Weniger als 3 (weil es am 3. endet)
Bezeichnet von plus
a = [1, 2, 3, 4, 5]
a[:3]
#Ausgabe
# [1, 2, 3]
▼ SEQ ID NO: -1st (-5 bis -2) └ Weniger als -1 (weil es bei -1 endet)
Mit Minus angeben
a = [1, 2, 3, 4, 5]
a[:-1]
#Ausgabe
# [1, 2, 3, 4]
** ▼ (Ergänzung) Sequenznummer jeder Daten **
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer(+) | 0 | 1 | 2 | 3 | 4 |
Sequenznummer(-) | -5 | -4 | -3 | -2 | -1 |
▼ Geben Sie die Sequenznummer von 1 bis weniger als 4 an. └ 4 ist nicht enthalten (3 Elemente von 1 bis 3)
Bezeichnet von plus
a = [1, 2, 3, 4, 5]
a[1:4]
#Ausgabe
# [2, 3, 4]
▼ SEQ ID NO: -4. Bis weniger als -2 └ Enthält nicht -2. (2 Elemente von -4 bis -3)
Mit Minus angeben
a = [1, 2, 3, 4, 5]
a[-4:-2]
#Ausgabe
# [2, 3]
** ▼ (Ergänzung) Sequenznummer jeder Daten **
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer(-) | -5 | -4 | -3 | -2 | -1 |
Wenn der Startwert negativ ist, beziehen Sie sich für den Startwert auf ** Daten entsprechend der Sequenznummer (-) **.
Wenn der Schlusswert positiv ist, beziehen Sie sich für den Schlusswert auf ** Daten, die der Sequenznummer (+) ** entsprechen.
Bezeichnet mit Plus und Minus
a = [1, 2, 3, 4, 5]
a[-3:4]
#Ausgabe
# [3, 4]
[-3: 4]
gibt nicht -3 bis 4 nacheinander an. Es ist nicht "-3, -2, -1,0,1,2,3,4".Wenn die Start- und Endwerte gemischt sind, ist es einfacher zu verstehen, wenn Sie sie durch positive Zahlen ersetzen, die negativen Zahlen entsprechen.
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer(+) | 0 | 1 | 2 | 3 | 4 |
Sequenznummer(-) | -5 | -4 | -3 | -2 | -1 |
・ ` -5: 4 ` = ` 0: 4 ` ・ ` 1: -1 ` = ` 1: 5 ` ・ ` -3: 2 ` = ` 2: 2 `
▼ Geben Sie den 10. Endwert für die Daten an, die nur bis zum 4. reichen.
Außerhalb des Bereichs angeben (plus)
a = [1, 2, 3, 4, 5]
a[3:10]
#Ausgabe
# [4, 5]
Die sechsten und nachfolgenden Daten sind nicht anwendbar.
Außerhalb des Bereichs angeben (Minus)
a = [1, 2, 3, 4, 5]
a[-20:-3]
#Ausgabe
# [1, 2]
Keine Treffer von -20 bis -6. Daten von -5 bis weniger als -3 werden ausgegeben.
Geben Sie außerhalb des Bereichs von außerhalb des Bereichs (plus) an.
a = [1, 2, 3, 4, 5]
a[10:30]
#Ausgabe
# []
Die Ausgabe ist leer.
Geben Sie außerhalb des Bereichs von außerhalb des Bereichs (Minus) an.
a = [1, 2, 3, 4, 5]
a[-20:-10]
#Ausgabe
# []
Die Ausgabe ist leer.
▼ Geben Sie einen Bereich außerhalb des Bereichs vom Minus-Startwert bis zum Plus-Endwert an.
Geben Sie außerhalb des Bereichs von außerhalb des Bereichs (Minus und Plus) an.
a = [1, 2, 3, 4, 5]
a[-20:10]
#Ausgabe
# [1,2,3,4,5]
Das Ergebnis ist dasselbe wie "[-5: 4]" = "[0: 4]".
-20
Weniger als -5 liegt daran, dass keine Daten vorhanden sind. -5 ist der Maximalwert.
-5 entspricht der 0. Bezeichnung von plus.
10
Da nach dem 4. keine Daten mehr vorliegen, ist 4 der Maximalwert.
Daten | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|
Sequenznummer(+) | 0 | 1 | 2 | 3 | 4 |
Sequenznummer(-) | -5 | -4 | -3 | -2 | -1 |
▼ Wenn der Startwert 1, der Endwert 9 und der Änderungsbetrag 2 angegeben sind.
Geben Sie Start, Ende und Änderungsbetrag an(Plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[1:9:2]
#Ausgabe
# [2, 4, 6, 8]
Erhöhen Sie die Sequenznummer von 1. auf 2. und führen Sie sie bis weniger als 9 aus. Extrahieren Sie die der Nummer entsprechenden Daten.
Geben Sie Start, Ende und Änderungsbetrag an(Minus-)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[8:3:-2]
#Ausgabe
# [9, 7, 5]
Verringern Sie die Sequenznummer von 8 auf 2 und beenden Sie den Vorgang auf Platz 3 (3 ist nicht enthalten). Extrahieren Sie die der Nummer entsprechenden Daten.
Daten | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Sequenznummer | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Geben Sie Start, Ende und Änderungsbetrag an(Minus-)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[-3:-8:-2]
#Ausgabe
# [8, 6, 4]
Verringern Sie die Sequenznummer von -3 um 2 und beenden Sie den Vorgang mit -8 (-8 ist nicht enthalten). Extrahieren Sie die der Nummer entsprechenden Daten.
Daten | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
Sequenznummer | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
▼ Wenn der Startwert 1 und der Änderungsbetrag 3 angegeben sind
Geben Sie nur den Startbetrag an und ändern Sie den Betrag(Plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[1::3]
#Ausgabe
# [2, 5, 8]
Erhöhen Sie die Anzahl von 1 auf 3 und führen Sie sie aus, bis Daten vorliegen.
Geben Sie nur den Startbetrag an und ändern Sie den Betrag(Minus-)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[5::-1]
#Ausgabe
# [6, 5, 4, 3, 2, 1]
Verringern Sie die Anzahl von 5 auf 1 und führen Sie sie aus, bis Daten vorliegen.
** Der Startwert ist unterschiedlich **, je nachdem, ob der Änderungsbetrag positiv oder negativ ist.
▼ Wenn der Endwert 5 und der Änderungsbetrag 2 angegeben sind (Startwert 0)
Geben Sie nur das Ende und den Änderungsbetrag an(Plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[:5:2]
#Ausgabe
# [1, 3, 5]
** Startwert 0. ** Erhöhen Sie die Zahl um 2 und führen Sie sie auf weniger als 5 aus (5. ist nicht enthalten).
Geben Sie nur das Ende und den Änderungsbetrag an(Plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[:5:-2]
#Ausgabe
# [10, 8]
** Startwert 9. ** Verringern Sie die Zahl um 2 und führen Sie sie auf weniger als 5 aus (5. ist nicht enthalten).
Der Startwert ist unterschiedlich, je nachdem, ob der Änderungsbetrag ** plus ** oder ** minus ** beträgt.
▼ Wenn der Änderungsbetrag positiv ist (Startwert 0)
Geben Sie nur den Änderungsbetrag an(Plus)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[::3]
#Ausgabe
# [1, 4, 7, 10]
** Startwert 0. ** Erhöhen Sie die Zahl um 3 und führen Sie sie aus, bis Daten vorliegen.
Geben Sie nur den Änderungsbetrag an(Minus-)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
a[::-3]
#Ausgabe
# [10, 7, 4, 1]
** Startwert 1
Verringern Sie die Anzahl von 0 ** auf 3 und führen Sie sie aus, bis Daten vorliegen.
Fehlerfall (int-Typ)
1001[2:]
#Ausgabe
# TypeError: 'int' object is not subscriptable
Fehlerfall (Float-Typ)
123.45[2:5]
#Ausgabe
# TypeError: 'float' object is not subscriptable