Guten Abend (* ´ω `)
Es ist eine Erweiterung von gestern. Lassen Sie uns die Schwierigkeit etwas weiter erhöhen.
Setzen Sie die Ganzzahlen vorerst zufällig auf 0 bis 4 Lassen Sie uns zufällig eine 8-mal-8-Matrix auswählen und erstellen.
test.py
import numpy as np
arr = np.random.randint(0,4,(8,8))
print(arr)
Ausführungsergebnis.py
[[2 2 3 2 2 3 2 2]
[3 1 0 2 1 2 3 1]
[3 0 1 3 3 1 2 1]
[1 2 1 1 1 2 2 2]
[1 2 3 2 3 0 3 0]
[0 2 0 0 0 1 0 3]
[0 2 3 0 0 2 2 1]
[3 3 2 3 3 2 2 0]]
Suchen Sie vorerst in einer zufällig aufgebauten Matrix nach 0. Es scheint, dass die von @ LouisS0616 gelehrte Beschreibung darin besteht, nur eine zu finden. Ich denke, es gibt andere Möglichkeiten, aber es tut mir leid, es hat nicht funktioniert m (_ _) m. Vorerst werde ich geradeaus gehen.
test.py
arr_pt=[]#Machen Sie eine Liste von leer.
for i in range(8):
for j in range(8):
if arr[i,j] == 0:
arr_pt.append([i,j])#In der leeren Liste arr[i,j] ==Geben Sie die Koordinaten ein, die 0 sein werden.
Ausführungsergebnis.py
[[2 0 2 1 1 0 3 3]
[3 0 3 3 2 0 2 3]
[2 2 0 3 0 2 0 2]
[3 0 2 2 2 2 0 2]
[3 0 3 0 1 0 1 0]
[2 2 1 2 1 0 2 3]
[1 3 2 1 2 0 0 1]
[3 0 3 2 2 3 3 2]]
#Die folgende Liste wurde aus Gründen der Übersichtlichkeit einmal gebrochen.(_ _)m
#Die Koordinaten werden aus 0 Zeilen und 0 Spalten gezählt.
[[0, 1], [0, 5], [1, 1], [1, 5], [2, 2], [2, 4], [2, 6], [3, 1],
[3, 6], [4, 1], [4, 3], [4, 5], [4, 7], [5, 5], [6, 5], [6, 6], [7, 1]]
Die Python-Liste hat also keine Begrenzung Die Anzahl der Nullen ist selbst in einer zufällig generierten Matrix unterschiedlich. Vielen Dank (`) ノ für das Speichern der Koordinaten.
Danach werde ich versuchen, die Koordinateninformationen aus der gespeicherten Liste zu extrahieren. Bearbeiten Sie dieses Mal alle Zeilen und Spalten, in denen 0 zu 0 gefunden wird. Vorerst werde ich es kurz veröffentlichen, aber ich werde es später erklären.
test.py
for k in range(len(arr_pt)):
for l in range(8):
arr[arr_pt[k][0],l] = 0
for m in range(8):
arr[m,arr_pt[k][1]] = 0
print(arr)
Ausführungsergebnis.py
#before
[[3 2 3 2 2 1 2 2]
[3 2 3 2 0 3 0 0]
[3 3 3 0 2 2 0 1]
[1 3 1 1 3 0 0 1]
[2 0 1 3 2 0 3 3]
[0 1 0 0 1 0 3 1]
[2 0 3 0 1 3 2 2]
[0 0 3 2 1 3 2 0]]
#after
[[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]]
Es ist alles 0 (lacht) Während Sie die Balance ein wenig einstellen Ich werde das ganze Bild neu veröffentlichen.
test.py
import numpy as np
arr = np.random.randint(0,8,(8,8))#Da es sich um eine 8x8-Matrix handelt, ist 0-Ich entschied mich zufällig 8 zu wählen.
print(arr)
arr_pt=[]
for i in range(8):
for j in range(8):
if arr[i,j] == 0:
arr_pt.append([i,j])
print(arr_pt)
#arr_pt[0][0]Ist arr_pt[0] =Wenn Sie X sagen, X.[0]Das ist
#Bitte lesen Sie die Beschreibung mit diesem Hinweis
for k in range(len(arr_pt)):
for l in range(8):
arr[arr_pt[k][0],l] = 0 # arr_pt[k]Sei X arr[X[0],l]Wird sein/Der Wert einer bestimmten Zeile ist alle 0
for m in range(8):
arr[m,arr_pt[k][1]] = 0 # arr_pt[k]Sei X arr[m,X[1]]Wird sein/Spezifische Spaltenwerte alle 0
print(arr)
Ausführungsergebnis.py
#before
[[3 0 6 5 7 7 5 0]
[5 5 1 7 5 0 7 7]
[4 5 2 2 2 7 1 3]
[5 5 7 0 3 3 0 7]
[0 3 0 4 7 1 1 0]
[3 3 3 7 6 7 1 7]
[3 1 4 4 5 5 7 7]
[5 2 6 0 2 4 3 3]]
# 0 address (= arry_pt)
[[0, 1], [0, 7], [1, 5], [3, 3], [3, 6], [4, 0], [4, 2], [4, 7], [7, 3]]
#after
[[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 2 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0]
[0 0 0 0 6 0 0 0]
[0 0 0 0 5 0 0 0]
[0 0 0 0 0 0 0 0]]
Das Bild des Ausführungsergebnisses sieht folgendermaßen aus.
Persönlich war ich besorgt, nachdem ich die 0-Koordinate gefunden und in die Liste aufgenommen hatte. Zum Beispiel aus den folgenden Ausführungsergebnissen, zum Beispiel arr_pt [0]. ..
Ausführungsergebnis.py
[[0, 1], [0, 7], [1, 5], [3, 3], [3, 6], [4, 0], [4, 2], [4, 7], [7, 3]] # arr_pt
[0, 1]# arr_pt[0]
Es wird sein. Es ist gut, die Koordinaten abzurufen, Ich wusste nicht, wie ich es in den Elementen einer 8x8-Matrix widerspiegeln sollte. Wie ich kurz geschrieben habe, wird arr_pt [0] [0] 0 aus [0,1] extrahieren. Umgekehrt extrahiert arr_pt [0] [1] 1 aus [0,1].
Es ist interessant.
Danach habe ich das Gefühl, dass es bisher nicht notwendig ist, es zu verwenden. Es tut mir leid, mir fällt keine gute Idee ein. ..
Wenn Sie ein Experte sind, geben Sie mir bitte einen Rat. m (_ _) m
Recommended Posts