830 votes

Comment définir un tableau à deux dimensions en python

Je souhaite définir un tableau à deux dimensions sans une longueur initialisé comme ceci :

mais il ne fonctionne pas.

J’ai essayé, mais c’est mal, trop :

Quelle est mon erreur ?

1151voto

Manny D Points 4682

Techniquement, vous essayez d’indexer un tableau non initialisé. Vous devez d’abord initialiser la liste externe avec des listes avant d’ajouter des éléments :

Vous pouvez maintenant ajouter des éléments à la liste :

448voto

senderle Points 41607

Si vous voulez vraiment une matrice, vous pourriez être mieux d’utiliser numpy.

D’autres façons (avec sortie supprimé pour compacité) :

Remarque que beaucoup de gens ne recommande pas l’utilisation comme un est plus souple, mais j’ai pensé que j’inclurais il puisque nous parlons de matrices.

375voto

Andrew Clark Points 77748

Voici une notation plus courte pour l’initialisation d’une liste de listes :

Malheureusement ce raccourcissement à quelque chose comme `` ne fonctionne pas vraiment parce que vous vous retrouver avec 5 exemplaires de la même liste, donc lorsque vous modifiez l’un d’eux ils ont tous changent, par exemple :

129voto

mripard Points 531

Si vous souhaitez créer une matrice vide, la syntaxe correcte est

Et si vous souhaitez générer une matrice de taille 5 remplis de 0,

85voto

enobayram Points 1799

Si tout ce que vous voulez est un deux dimension récipient pour contenir certains éléments, vous pouvez idéalement utiliser un dictionnaire à la place :

Alors vous pouvez faire :

Ceci fonctionne parce que `` est un n-uplet, et vous l’utilisez comme une clé à l’index du dictionnaire. Le résultat est semblable à une matrice clairsemée muette.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X