Bonsoir (* ´ω `)
C'est une extension d'hier. Élevons un peu plus la difficulté.
Pour le moment, définissez aléatoirement les entiers de 0 à 4 Choisissons et créons au hasard une matrice 8 par 8.
test.py
import numpy as np
arr = np.random.randint(0,4,(8,8))
print(arr)
Résultat d'exécution.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]]
Pour le moment, recherchez 0 dans une matrice construite aléatoirement. Il semble que la description enseignée par @ LouisS0616 est de savoir comment en trouver un seul. Je pense qu'il existe d'autres moyens, mais je suis désolé, cela n'a pas fonctionné m (_ _) m. Pour le moment, je vais aller tout droit.
test.py
arr_pt=[]#Faites une liste de vides.
for i in range(8):
for j in range(8):
if arr[i,j] == 0:
arr_pt.append([i,j])#Dans la liste vide, arr[i,j] ==Entrez les coordonnées qui seront 0.
Résultat d'exécution.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]]
#La liste suivante a été cassée une fois par souci de clarté.(_ _)m
#Les coordonnées sont comptées à partir de 0 lignes et 0 colonnes.
[[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]]
La liste python n'a pas de limite, donc Le nombre de 0 est différent même dans une matrice générée aléatoirement. Merci (`) ノ pour le stockage des coordonnées.
Après cela, je vais essayer d'extraire les informations de coordonnées de la liste stockée. Cette fois, modifiez toutes les lignes et colonnes où 0 est trouvé à 0. Pour le moment, je le posterai brièvement, mais je l'expliquerai plus tard.
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)
Résultat d'exécution.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]]
Tout est 0 (rires) Tout en ajustant un peu la balance Je republierai l'image entière.
test.py
import numpy as np
arr = np.random.randint(0,8,(8,8))#Puisqu'il s'agit d'une matrice 8x8, 0-J'ai décidé d'en choisir 8 au hasard.
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]Est arr_pt[0] =Si vous dites X, X[0]C'est
#Veuillez lire la description avec ceci comme un indice
for k in range(len(arr_pt)):
for l in range(8):
arr[arr_pt[k][0],l] = 0 # arr_pt[k]Soit X arr[X[0],l]Sera/La valeur d'une ligne spécifique est tout 0
for m in range(8):
arr[m,arr_pt[k][1]] = 0 # arr_pt[k]Soit X arr[m,X[1]]Sera/Valeurs de colonne spécifiques toutes 0
print(arr)
Résultat d'exécution.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]]
L'image du résultat de l'exécution ressemble à ceci.
Personnellement, j'étais inquiet après avoir trouvé la coordonnée 0 et l'avoir mise dans la liste. Par exemple, à partir des résultats d'exécution suivants, par exemple, arr_pt [0]. ..
Résultat d'exécution.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]
Ce sera. Il est bon de récupérer les coordonnées, Je ne savais pas comment le refléter dans les éléments d'une matrice 8x8. Comme je l'ai écrit brièvement, arr_pt [0] [0] extraira 0 de [0,1]. Inversement, arr_pt [0] [1] extraira 1 de [0,1].
c'est intéressant.
Après cela, je pense qu'il n'est pas nécessaire de l'utiliser pour autant. Je suis désolé, je ne peux pas penser à une bonne idée. ..
Si vous êtes un expert, donnez-moi quelques conseils. m (_ _) m
Recommended Posts