Python-Handspiel (zweidimensionale Liste)

Was ist dieser Artikel?

Machen wir uns noch einmal eine Notiz. Ich habe eine zweidimensionale 3x3-Liste erstellt.

# So was
print(tmp)
 [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

Als ich versuchte, "5" in die Mitte zu setzen, wurde es so. Warum?

# So was
tmp[1][1] = 5
print(tmp)
 [[0, 5, 0], [0, 5, 0], [0, 5, 0]]

Was das ···

Trends und Gegenmaßnahmen

Es war, weil ich nicht tief nachgedacht habe, als ich es gemacht habe.

# Schlechtes Beispiel
tmp_ng =[[0] * 3] * 3
print(tmp_ng)
 [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

Okay, OK! (* Nicht OK ...)

# Verbesserungsbeispiel
tmp_ok = [[0] * 3 for _ in range(3)]
print(tmp_ok)
 [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

Es ändert sich an dieser Stelle nicht, aber ... Es wird so sein.

tmp_ng[1][1] = 5
print(tmp_ng)
 [[0, 5, 0], [0, 5, 0], [0, 5, 0]]
tmp_ok[1][1] = 5
print(tmp_ok)
 [[0, 0, 0], [0, 5, 0], [0, 0, 0]]

Verraten (?)

>>> tmp_ok[0] == tmp_ok[2]
True
>>> tmp_ng[0] == tmp_ng[2]
True
>>> tmp_ok[0] is tmp_ok[2]
False
>>> tmp_ng[0] is tmp_ng[2]
True

In einem schlechten Beispiel wird das von new (in C #) erstellte Objekt (?) [0] * 3 an drei Stellen festgelegt. Mit anderen Worten wird ein Array erstellt, in dem die Variable einmal definiert wird und auf den zugewiesenen Speicherort dreimal verwiesen wird. Daher wird ein Werttyp an drei Stellen angezeigt. Im Verbesserungsbeispiel ist [0] * 3 jedoch jedes Mal neu (in C #), wenn der Bereich für _ in (3) dreimal gedreht wird. Da der Speicher dreimal gesichert ist, kann jeder einen anderen Wert haben.

Das war's. .. ..

Ich kann nicht sagen, dass ich Python schreiben kann, es sei denn, ich kann natürlich die Bedeutung jedes Zeichenliteral erkennen, insbesondere den Steuerbefehl.

Recommended Posts

Python-Handspiel (zweidimensionale Liste)
Python Handspiel (Division)
[Python] -Liste
Python-Handspiel (Argparse-Mindestcode)
Python-Handspiel (Pandas / DataFrame-Beginn)
Python-Grundlagen: Liste
Python-Handspiel (berechnet voller Mordred)
Python-Handspiel (Deskriptorberechnung: seriöse Version)
Spielen Sie Python async
Spielen Sie mit 2016-Python
Python> Verständnis / Inklusive Notation> Listenverständnis
Python-Listenmanipulation
Python-Handspiel (Beginnen wir mit AtCoder?)
Python-Handspiel (einzeilige Notation von if)
Python-Handspiel (Interoperation zwischen CSV und PostgreSQL)
Sortierte Liste in Python
Python-Übung 2 - List Inclusion Notation
Liste der Python-Module
Python> Liste> verlängern () oder + =
Geschwindigkeit der Listeneinschlussnotation in Python
Filterliste in Python
Python unittest assertXXX Liste
Spielen Sie YouTube in Python
Python3-Memo vom Typ Liste / Wörterbuch
[Memo] Python 3-Listensortierung
Liste der Python-APIs für OpenCV3
Python-Fehlerliste (Japanisch)
Die findähnliche Sache der Liste in Python
Liste der Python-Ausnahmeklassen
Liste mit Python initialisieren
Python-Handspiel (Spaltennamen aus CSV-Datei abrufen)
Spielen Sie das MV von Python Skusta zum ersten Mal ununterbrochen. Scrollen Sie durch die Songliste.
Python-Liste, für Anweisung, Wörterbuch
Zusammenfassung der Python3-Listenoperationen
[Python] Liste in Pandas konvertieren [Pandas]
[Python] Verwendung von Liste 1
ToDo-Listenerstellung [Python Django]
Geben Sie mehrere Listenindizes an (Python)
Python-Grundkurs (5 List Taple)
[Python] Spielen Sie mit Discords Webhook.
[Python] Kopie einer mehrdimensionalen Liste
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Python-Liste und Tapples und Kommas
Paiza Python Primer 4: Grundlagen der Liste
Python-Listeneinschlussnotation und Generator
[Python / PyQ] 4. Liste zur Anweisung
Python #Liste für Super-Anfänger
Abrufen von Listenelementen in Python
Python-Handspiel (RDKit-Deskriptorberechnung: SDF zu CSV mit Pandas)
Extrahieren Sie mehrere Listenduplikate in Python
Unterschied zwischen list () und [] in Python
[Python] Verwalten Sie Funktionen in einer Liste
Ausgabe 2017 Premium Friday List in Python
Konvertieren Sie die Liste mit Python in DataFrame
Lass uns mit Python mit Python spielen [Anfänger]
[Python-Anfänger] Teilen Sie eine Liste (5 Zeilen).
Python / Machen Sie ein Diktat aus einer Liste.
Python> Liste> Doppelte Liste in einfache Liste konvertieren
[Python] Verwendung von Liste 3 Hinzugefügt