Über Python-Slices

Was ist eine Scheibe?

Wenn Sie Python bis zu einem gewissen Grad berühren, sehen Sie möglicherweise das Wort Slice, aber ich denke, Sie können es verstehen, weil Sie es häufig verwenden, aber es war eigentlich ziemlich kompliziert, also habe ich es als Artikel geschrieben.

Ein Slice ist eine Syntax (?), Mit der Sie leicht auf die Elemente einer Sequenz zugreifen können.

Slice-Operationen sind in häufig verwendeten Typen wie list und str verfügbar, daher kann es sehr nützlich sein, die Slices zu kennen.

Grundlegende Verwendung

Verwenden Sie es wie eine [Startposition: Endposition].

Zum Beispiel

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]

Es ist so. Wenn Sie an der Startposition nichts eingeben, wird es als 0 verarbeitet, und wenn Sie an der Endposition nichts eingeben, wird es als Ende verarbeitet. In einem solchen Fall ist es daher besser, nicht zu schreiben.

Es mag etwas verwirrend sein, wenn es ein Minus gibt, aber wenn Sie dies verwenden, können Sie die Liste und das Ende leicht angeben. Wenn Sie sich daran gewöhnen, wird sich die Welt ändern (ich denke, es ist etwas übertrieben).

Bis zu diesem Punkt kannte ich die Scheiben, aber in Wirklichkeit gab es eine kompliziertere Art zu schreiben ...!

Kürzlich untersuchte Schneidemethode

a [Startposition: Endposition: Slice-Inkrement].

Durch Angabe des Inkrements des Slice können Sie "das Element alle n-ten abrufen".

Zum Beispiel

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]

ist. Das ist es. Es ist kompliziert, aber es wäre schön, wenn Sie es meistern könnten! Besonders -1 scheint ziemlich brauchbar zu sein.

Wenn Sie diese drei jedoch kombinieren, wird es möglicherweise einige Zeit dauern, bis Sie sie verstanden haben. Als ich das Programm überprüfte, das ich zuvor gemacht hatte, war es wie: "Was? Was wird damit passieren?"

Ich weiß nicht, ob es gut ist, die Lesbarkeit zu berücksichtigen, aber ich denke, es lohnt sich zu wissen.

Deshalb war es eine Geschichte, dass Scheiben auch tief sind.

Recommended Posts

Über Python-Slices
Über die Einschlussnotation von Python
Über Python tqdm.
Über die Python-Ausbeute
Über Python, Klasse
Informationen zur Python-Vererbung
Über Python, range ()
Über Python Decorator
Informationen zur Python-Referenz
Über Python-Dekorateure
[Python] Über Multi-Prozess
Über Python für Schleife
Über Funktionsargumente (Python)
Erfahren Sie mehr über Go Slices
[Python] Memo über Funktionen
Zusammenfassung über Python3 + OpenCV3
Über Python für ~ (Bereich)
[Python] Memo Über Fehler
Informationen zur Python-Entwicklungsumgebung
Python: Über Funktionsargumente
Python, über die Ausnahmebehandlung
Über Python Pyramid Traversal
Probieren Sie 9 Slices in Python aus
Über Python3 ... (Ellipsenobjekt)
[Python] Kapitel 01-01 Über Python (Erster Python)
[Python] Informationen zur Standardeingabe
Über __all__ in Python
[Python] Informieren Sie sich über pip
Fabric unterstützt Python 3
Python
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Über das Python-Modul venv
Python-Anfänger-Memorandum-Funktion
Über die Aufzählungsfunktion (Python)
Über verschiedene Codierungen von Python 3
Über Python, len () und randint ()
Über Perl, Python, PHP, Ruby
Informationen zu Python-Datums- und Zeitzone
Memorandum über Korrelation [Python]
Ein Memorandum über den Python-Mock
Informationen zu Python-Zeichenfolgenvergleichsoperatoren
Über Python und reguläre Ausdrücke
Über die Funktionen von Python
Über "für _ in range ():" von Python
Informationen zu Python- und Betriebssystemoperationen
Python # Über Referenz und Kopie
Über Python sort () und reverse ()
Ein Hinweis zu [Python] __debug__
Python Hinweis: Über den Vergleich mit is
Informationen zur Installation der Serien Pwntools und Python2
Python: Ein Hinweis zu Klasse 1 "Abstract"
[Python] Lassen Sie uns kurz über die Einschlussnotation schreiben
Über Python-Diktat und sortierte Funktionen
Über Python und Cython dtype
[Python] Was ist @? (Über Dekorateure)
Was war überraschend an Python-Klassen?