Maison >développement back-end >Tutoriel Python >Comment initialiser et indexer correctement un tableau bidimensionnel en Python ?

Comment initialiser et indexer correctement un tableau bidimensionnel en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-11 02:23:09462parcourir

How to Properly Initialize and Index a Two-Dimensional Array in Python?

Définition d'un tableau bidimensionnel en Python

Lors de l'initialisation d'un tableau bidimensionnel sans spécifier la longueur, vous pouvez rencontrer l'erreur " IndexError : index de la liste hors plage." Cela se produit car Python nécessite que la liste externe soit initialisée avec des listes vides avant d'ajouter des éléments.

Pour résoudre ce problème, utilisez la compréhension de liste pour créer le tableau :

w, h = 8, 5
Matrix = [[0 for x in range(w)] for y in range(h)]

Cela crée un liste contenant 5 listes, chacune contenant 8 éléments, toutes mises à zéro.

Vous pouvez ensuite ajouter des éléments au tableau comme suit :

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! IndexError: list index out of range
Matrix[0][6] = 3 # valid

Notez que la matrice est l'adresse majeure "y", ce qui signifie que l'index externe (y) précède l'index interne (x). Ceci est différent de certains autres langages de programmation.

Par exemple :

print Matrix[0][0] # prints 1
x, y = 0, 6
print Matrix[x][y] # prints 3; be careful with indexing!

Bien que vous puissiez nommer les indices comme vous le souhaitez, l'utilisation de "x" pour les listes internes et externes peut conduire à confusion lors de l'indexation de matrices non carrées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn