__ 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. __ __
Geben Sie als Beispiel die folgenden Eingabedaten an
3 5
#####
.#.#.
#.#.#
#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)
[['', '', '', '', ''], ['', '', '', '', ''], ['', '', '', '', '']]
[['', '', '', '', ''], ['', '', '', '', ''], ['', '', '', '', '']]
[['#', '#', '#', '#', '#'], ['.', '#', '.', '#', '.'], ['#', '.', '#', '.', '#']]
[['#', '.', '#', '.', '#'], ['#', '.', '#', '.', '#'], ['#', '.', '#', '.', '#']]
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.
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.
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