/ / Accès à un tableau 2D Python avec des points (x, y) - python

Accès aux tableaux 2D Python avec des points (x, y) - python

Bonsoir les copains,

Je suis nouveau dans la programmation python et je me demandais si vous pouviez accéder à un tableau 2D en python en utilisant Points / Coordinate?

Exemple vous avez un point: point = (1,2)

et vous avez une matrice, alors vous accédez à une certaine partie de la matrice en utilisant une coordonnée

Matrice[point] = un exemple de valeur ici

Merci,

Vincent

Réponses:

7 pour la réponse № 1

Le populaire Forfait NumPy fournit des tableaux multidimensionnels prenant en charge l'indexation par n-uplets:

import numpy
a = numpy.array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
print a[1, 2]
point = (1, 2)
print a[point]

En l'absence de bibliothèques externes, un "tableau à deux dimensions" n'existe pas en Python. Il n’existe que des listes imbriquées, telles qu’elles sont utilisées dans l’appel à numpy.array() au dessus de.


6 pour la réponse № 2

Vous pouvez définir une matrice N by M et y accéder comme suit:

N = M = 5
Matrix = {(x,y):0 for x in range(N) for y in range(M)}
point1 = (1, 2)
Matrix[point1] = 2
print( Matrix[(3, 2)] ) # prints 0

2 pour la réponse № 3

En Python, il est possible de créer et de référencer une matrice 2D en utilisant une structure de données à liste imbriquée.
Cependant, dans Les systèmes de coordonnées Matrix Algèbre sont (colonne, ligne);
En utilisant un liste imbriquée crée un système de coordonnées (ligne, colonne).

Pour définir une matrice 2D en Python, utilisez une structure de "liste imbriquée" ou "liste de listes".
Notez que le Structure de données "liste" Python correspond à la Java "array" datastructure.

Pour référencer une valeur de matrice à la coordonnée (colonne, ligne):

coordinate_value = matrix[row][column]


Comme avec les listes 1D, l'index commence à partir de 0 ... n

matrix = [
["a", "b", "c"],
["d", "e", "f", "g"],
["h", "i", "j", "k"],
]
print "value of row 0, column 2: " + matrix[0][2]
"the value of row 0, column 2 is: c"

Cas d'utilisation

Si vous envisagez de faire une algèbre matricielle substantielle (vecteurs propres, algèbre linéaire, transformations matricielles, etc.), investissez dans l’apprentissage dans le module numpy.
Si vous effectuez une interview avec codage, une liste imbriquée est un raccourci pour créer et utiliser une matrice 2D.

À votre santé!


1 pour la réponse № 4

Une partie du problème ici est que vous essayez d’utiliser un tableau 2d et que python ne supporte pas réellement les tableaux, mais vous utilisez des listes pour créer ce que vous voulez.

http://www.stev.org/post/2012/02/22/Python-2d-Arrays-dont-work.aspx