Heim > Backend-Entwicklung > Python-Tutorial > So referenzieren Sie Arrays in Python-Listen

So referenzieren Sie Arrays in Python-Listen

黄舟
Freigeben: 2016-12-16 16:19:50
Original
5294 Leute haben es durchsucht

In diesem Artikel werden Python-Listen vorgestellt. In Computersprachen sind Python-Listen eine weit verbreitete Sprache. Wenn Sie Fragen zur praktischen Anwendung von Python-Listen haben, können Sie unseren Artikel durchsuchen.

Es gibt keine Datenstruktur für Arrays in Python, aber Listen sind Arrays sehr ähnlich, wie zum Beispiel:

a=[0,1,2]这时a[0]=0, a[1]=1, a[[2]=2,
Nach dem Login kopieren

Aber es stellt sich die Frage, was passiert, wenn Array a gewünscht wird kann von 0 bis 999 definiert werden. Dies kann durch a = range(0, 1000) erreicht werden. Oder lassen Sie es als a = range(1000) weg. Wenn Sie a mit einer Länge von 1000 definieren möchten und die Anfangswerte alle 0 sind, dann

a = [0 for x in range(0, 1000)]
Nach dem Login kopieren

hier wird ein 10*10 zwei- definiert. dimensionales Array mit einem Anfangswert von 0. Später habe ich im Internet eine einfachere Methode für literale zweidimensionale Arrays gefunden: b = [[0]*10]*10, die 10*10 als zweidimensionales Array mit einem Anfangswert von 0 definiert. Vergleichen Sie mit

a=[[0 for x in range(10)] for y in range(10)]
Nach dem Login kopieren

: Das Ergebnis von print a==b ist True. Nachdem jedoch die Definitionsmethode von b anstelle von a verwendet wurde, ging auch das vorherige Programm, das normal ausgeführt werden konnte, schief. Nach sorgfältiger Analyse wurde der Unterschied festgestellt: Wenn a[0][0]=1, nur a[0][. 0] ist 1, alle anderen sind 0. Wenn b[0][0]=1, sind a[0][0], a[1][0] und a[9,0] alle 1. Daraus erhalten wir, dass die 10 kleinen eindimensionalen Daten im großen Array alle dieselbe Referenz haben, das heißt, sie zeigen auf dieselbe Adresse. Daher entspricht b = [[0]*10]*10 nicht unserem herkömmlichen zweidimensionalen Array.

Gleichzeitig wurde getestet: Die Definition von c=[0]*10 hat den gleichen Effekt wie c=[0 für x in range(10)], ohne das gleiche Referenzproblem wie oben Es wird geschätzt, dass die Definition des Arrays c zu diesem Zeitpunkt den Werttyp multipliziert, während im vorherigen b der Typ multipliziert wird, da das eindimensionale Array eine Referenz ist (Ausleihe des Werttyps und des Referenztyps in C#) , ich weiß nicht, ob es angemessen ist). Der obige Artikel ist eine teilweise Einführung in Python-Listen.

Oben erfahren Sie, wie Sie auf Arrays in Python-Listen verweisen. Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (m.sbmmt.com).


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage