[Python-Memo] Seien Sie vorsichtig, wenn Sie ein zweidimensionales Array erstellen (Liste der Listen).

0. Problem

__ Zeilen (n1) und Spalten (n2) werden in die erste Zeile und n2 Spalten eingegeben. Oder # werden in die zweite und die folgenden Zeilen eingegeben. Speichern Sie die Zeichenfolgen in der zweiten und den folgenden Zeilen n1 in einem zweidimensionalen Array. __ __

1. 1. Eingabedaten

Geben Sie als Beispiel die folgenden Eingabedaten an

3 5
#####
.#.#.
#.#.#

2. Codebeispiel


#Geben Sie die Zeilen und Spalten des zu erstellenden Arrays durch Leerzeichen getrennt ein
in1 = input()
arr1=in1.split()

#Neben arr1 oben angegeben[1]Die Zeichenfolge für die Spalte lautet arr1[0]Zeilentext lesen
in2=[]
for i in range(int(arr1[0])):
    tmp1=input()
    in2.append(tmp1)
        
#Das folgende zweidimensionale Array(arr1[0]Linie arr1[1]Säule)Erstellen
arr2=[[''] * int(arr1[1]) for i in range(int(arr1[0]))]
arr3=[['']*int(arr1[1])]*int(arr1[0])

#Zeigen Sie das oben definierte zweidimensionale Array an
print(arr2)
print(arr3)

for i in range(int(arr1[0])):
    tmp2=in2[i]
    for j in range(int(arr1[1])):
        arr2[i][j]=tmp2[j:j+1]
        arr3[i][j]=tmp2[j:j+1]


print(arr2)
print(arr3)

3. 3. Ausgabeergebnis

[['', '', '', '', ''], ['', '', '', '', ''], ['', '', '', '', '']]
[['', '', '', '', ''], ['', '', '', '', ''], ['', '', '', '', '']]
[['#', '#', '#', '#', '#'], ['.', '#', '.', '#', '.'], ['#', '.', '#', '.', '#']]
[['#', '.', '#', '.', '#'], ['#', '.', '#', '.', '#'], ['#', '.', '#', '.', '#']]

In der ersten und zweiten Zeile werden die initialisierten zweidimensionalen Array-Daten angezeigt. Was wir beachten, ist der Unterschied zwischen den Ausführungsergebnissen der 3. und 4. Zeile `__.

Die Werte in allen Arrays von arr3 wurden durch die Daten in der letzten Eingabezeile ersetzt.

4. Überprüfung

Siehe Python-Liste (Array) mit beliebigem Wert / Anzahl der Elemente initialisieren Fügen Sie dem obigen Code den folgenden Code hinzu.

print(arr2[0]==arr2[int(arr1[0])-1])
print(arr3[0]==arr3[int(arr1[0])-1])
False
True

Weil die Liste der Elemente in arr3 alle als dasselbe Objekt behandelt werden Es scheint, dass wenn eine Liste aktualisiert wird, die anderen Listen mit demselben Inhalt aktualisiert werden.

Fazit

Beim Deklarieren eines zweidimensionalen Arrays mit Anfangswerten

Listenname = [[Anfangswert] * Anzahl der Spalten für eine beliebige Variable im Bereich (Anzahl der Zeilen)]

verwenden.

Recommended Posts

[Python-Memo] Seien Sie vorsichtig, wenn Sie ein zweidimensionales Array erstellen (Liste der Listen).
Ein Memo beim Erstellen einer Python-Umgebung mit Miniconda
Seien Sie vorsichtig, wenn Sie die Eigenvektoren einer Matrix unterscheiden
Ein Hinweis beim Erstellen eines gerichteten Diagramms mit Graphviz in Python
[Python] Seien Sie vorsichtig, wenn Sie Druck verwenden
[Python] Memo zum Erstellen von Scraping-Tools
Vorsichtsmaßnahmen beim Erstellen eines Python-Generators
Beim Erstellen einer Matrix in einer Liste
Vorsichtsmaßnahmen beim Erstellen eines zweidimensionalen Arrays mit denselben Werten
Achten Sie beim Drucken von Japanisch mit Python 3 auf LANG für UnicodeEncodeError
Suchthinweis: max (max (Liste)) darf nicht verwendet werden, wenn der Wert eines zweidimensionalen Arrays maximiert wird
Zeigen Sie eine Liste der Alphabete in Python 3 an
[Python] Ruft eine Liste der Instanzvariablen ab
Seien Sie vorsichtig, wenn Sie einem Array ein Array hinzufügen
[Python] Nur eine Liste der Ordner abrufen
Ich habe eine Funktion erstellt, um die Bewegung eines zweidimensionalen Arrays (Python) zu sehen.
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
[Python] Erstellen Sie eine Liste mit verschiedenen Zeichentypen
Python Hinweis: Behandeln Sie Listen gemeinsam als Satz
Kopieren Sie die Liste in Python
Umschreiben von Elementen in einer Listenschleife (Python)
Ausgabe in Form eines Python-Arrays
Hinweise zum Erstellen einer Python-Umgebung durch Anfänger
[Python] Manipulation von Elementen in einer Liste (Array) [Sortieren]
Ein Hinweis auf Missverständnisse beim Versuch, das gesamte selbst erstellte Modul mit Python3 zu laden
[Achtung] Beachten Sie beim Erstellen eines Binärbilds (1 Bit / Pixel) das Dateiformat!
Memo mit Python mit HiveServer2 von EMR verbunden
[Python] Manipulation von Elementen in der Liste (Array) [Hinzufügen / Löschen]
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
Beachten Sie beim Initialisieren einer Liste in Python
Python: Ruft eine Liste der Methoden für ein Objekt ab
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
kanonischer Python-Ausdruck oder Match-Objekt-Memo
Erstellen einer Liste, wenn die Nomenklatur für einen bestimmten Zeitraum gültig ist
Liste der Python-Module
Python3-Memo vom Typ Liste / Wörterbuch
Eine Geschichte, die ich machen wollte, als ich eine Liste von Lernsitzungen mit Python bekam
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
So mischen Sie einen Teil der Python-Liste (at random.shuffle)
Ein Memo, wenn mit Python + OpenCV schnell ein Gesicht erkannt wird
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Discords Python 1.5 oder höher, ich kann keine Liste der Mitglieder erhalten
[Python] Ein Programm, das durch Kombinieren von Ganzzahlen ein zweidimensionales Array erstellt
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
Seien Sie vorsichtig, wenn Sie pandas.DataFrame Series als Spalte zuweisen
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Python: Erstellen Sie ein Wörterbuch aus einer Liste von Schlüsseln und Werten
Ein Memo, dass ich eine Grundfunktion in Python mit Wiederholung geschrieben habe
Vorsichtsmaßnahmen, die beim Aufbau einer PYTHON-Umgebung beachtet werden müssen
Drehen Sie ein Array von Zeichenfolgen mit einer for-Anweisung (Python3).
Liste der zu installierenden Bibliotheken bei der Installation von Python mit Pyenv
[Python3] Liste der Websites, auf die ich beim Starten von Python verwiesen habe
Hier finden Sie eine Zusammenfassung der Dinge, die beim Umgang mit komplexen Zahlen in Python hilfreich sein können
Python-Handspiel (zweidimensionale Liste)
Python-Memo (für mich): Array
Zusammenfassung der Python3-Listenoperationen
Erstellen Sie ein Python-Numpy-Array
Mehrdimensionale Array-Initialisierung der Liste
[Python] Kopie einer mehrdimensionalen Liste