Comment puis-je créer des matrices 3x3?
J'ai un 2D liste contenant ces valeurs:
text = [[4, 3, 8, 9, 5, 1, 2, 7, 6], [8, 3, 4, 1, 5, 9, 6, 7, 2],
[6, 1, 8, 7, 5, 3, 2, 9, 4], [6, 9, 8, 7, 5, 3, 2, 1, 4],
[6, 1, 8, 7, 5, 3, 2, 1, 4], [6, 1, 3, 2, 9, 4, 8, 7, 5]]
Par exemple, le texte[i] doit être imprimé comme ceci:
4 3 8
9 5 1
2 7 6
Mais mon matrice imprime ce:
r = 6
m = []
for i in range(r):
m.append([int(x) for x in text[i]])
for i in m:
print (i)
>>
4 3 8 9 5 1 2 7 6
8 3 4 1 5 9 6 7 2
6 1 8 7 5 3 2 9 4
6 9 8 7 5 3 2 1 4
6 1 8 7 5 3 2 1 4
6 1 3 2 9 4 8 7 5
- Si vous êtes en train de faire numérique de travail avec des matrices, vous pouvez regarder la numpy.
- Êtes-vous essayer de créer un 3D liste à partir de la 2D, de la liste de données ou tout simplement de les imprimer comme il en avait un?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser numpy. Tout d'abord, convertir votre liste dans un tableau numpy. Ensuite, prendre un élément et d'en modifier la forme de matrice de 3x3.
De sortie:
Avec numpy, vous avez vraiment de travailler avec des matrices
Cela peut bien sûr être facilement généralisée (à l'aide de
range
s au lieu de ceux littérale tuples) mais je vais essayer de le garder aussi simple que possible.Le Q du sujet parle de la création de matrices, que le présent code ne font pas, mais le Q du corps est tout au sujet de impression au lieu de cela, j'ai donc porté sur la! Veuillez préciser (modifier votre Q) et commenter si vous voulez quelque chose de différent...
Utiliser le mérou recette mentionné ici de diviser chaque liste en 3, puis imprimer chaque série de trois.
RÉSULTAT:
De faire la traduction littérale de sortie à partir de la question, vous aurez à faire un peu de mise en forme, mais il ne devrait pas être trop mauvais. Quelque chose comme:
RÉSULTAT:
Il n'est pas complètement clair pour moi ce que vous êtes après, alors voici une conjecture:
De sortie: