Das Folgende ist eine Einführung in die flexible Verwendung von Arrays, Listen und Doppelpunkten in Python. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich sein wird. Werfen wir gemeinsam einen Blick darauf
Schauen wir uns ein Beispiel an:
import numpy as np x=np.array([[1,2,3],[5,6,7],[7,8,9]]) print(x) Out[64]: array([[1, 2, 3], [5, 6, 7], [7, 8, 9]])
Ich denke, dass jeder mit den oben genannten Ergebnissen kein Problem haben sollte. Es definiert lediglich ein np-Array. Der Schlüssel ist unten
print(x[:,::-1]) Out[65]: [[3 2 1] [7 6 5] [9 8 7]]
Der obige Code implementiert eine Funktion, die darin besteht, das Array in umgekehrter Reihenfolge in jeder Dimension anzuordnen. Dies ist ein Problem, auf das ich bei der Migration im Deep-Learning-Stil gestoßen bin , das heißt, das RGB des Bildes in BGR umzuwandeln, und als ich dann den von anderen geschriebenen Code sah, dachte ich zunächst an die Verwendung von Transpose. Die Erklärung von Transpose finden Sie in meinem Blog hier, aber es funktioniert nicht wirklich, weil Transponieren ein Dimensionsaustausch ist. Nachdem ich eine Weile gelesen habe, habe ich es unten erklärt:
x[. :,::-1], dieser Code ist eigentlich ein Index. Der erste Doppelpunkt (vor dem Komma) dient offensichtlich dazu, alles in der ersten Dimension auszuwählen, also alle Zeilen hier, gefolgt von zwei Doppelpunkten So ist zum Beispiel in unserer Liste y=[1,2,3],y [:2] Das Ergebnis ist [1,2], das heißt, der erste Doppelpunkt bedeutet, mit dem ersten zu beginnen Der Doppelpunkt nach unserem Komma beginnt hier ebenfalls mit dem ersten und dem zweiten. Was den Doppelpunkt betrifft, stellt der zweite Doppelpunkt tatsächlich das Ende dar, y=[1,2,3],y[::], das Ergebnis ist [1,2,3], was ist dann der dritte Parameter? Tatsächlich ist der dritte Parameter die Schrittgröße. Die Schrittgröße kann nicht 0 sein. -1 bedeutet umgekehrte Reihenfolge. Wenn sie 1 ist, bedeutet dies, dass alle ausgewählt werden ist 2, es bedeutet, dass man jeden zweiten nimmt.
Sehen Sie sich den folgenden Code an:
x=np.array([[1,2,3],[5,6,7],[7,8,9]]) print(x) print('------------') print(x[:,::-1]) print('------------') print(x[:,::1]) print('------------') print(x[:,::2]) print('------------') print(x[:,::3]) print('------------') print(x[:,::666666]) x=np.array([[1,2,3],[5,6,7],[7,8,9]]) print(x) print('------------') print(x[:,::-1]) print('------------') print(x[:,::1]) print('------------') print(x[:,::2]) print('------------') print(x[:,::3]) print('------------') print(x[:,::666666]) [[1 2 3] [5 6 7] [7 8 9]] ------------ [[3 2 1] [7 6 5] [9 8 7]] ------------ [[1 2 3] [5 6 7] [7 8 9]] ------------ [[1 3] [5 7] [7 9]] ------------ [[1] [5] [7]] ------------ [[1] [5] [7]]
Sie können es aus dem verstehen Im obigen Code ist der Grund, warum x[:,::666666] im Folgenden so groß wie 66666 ist, zu sagen, dass ab dem ersten Schritt das Folgende die Schrittgröße darstellt und die Schrittgröße nur so groß wie 66666 sein kann die erste. Tatsächlich ist die Schrittgröße bei 3 beginnend, Sie können nur die erste erhalten
Die obige Verwendung ist für die Liste dieselbe.
Verwandte Empfehlungen:
Für in Python integrierte Schleifen- und Bereichsfunktionen
Das obige ist der detaillierte Inhalt vonArrays und Listen in Python: Einführung in die Verwendung von Doppelpunkten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!