Maison >développement back-end >Tutoriel Python >Comment initialiser et utiliser correctement des tableaux bidimensionnels en Python sans dimensions prédéfinies ?

Comment initialiser et utiliser correctement des tableaux bidimensionnels en Python sans dimensions prédéfinies ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 14:30:10578parcourir

How to Properly Initialize and Use Two-Dimensional Arrays in Python Without Predefined Dimensions?

Définition de tableaux bidimensionnels en Python sans longueur initialisée

Lorsque vous essayez de définir un tableau bidimensionnel en Python sans spécifier la longueur, tels que :

Matrix = [][]

vous pouvez rencontrer une erreur « IndexError : list index out of range ». Pour résoudre ce problème, il est nécessaire d'initialiser la liste externe avec des listes vides avant d'ajouter des éléments. Python utilise une technique appelée compréhension de liste à cet effet.

Considérez le code suivant :

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

Ici, nous avons créé une liste de 5 listes, chacune contenant 8 zéros. Maintenant, vous pouvez ajouter des éléments à ce tableau :

Matrix[0][0] = 1
Matrix[6][0] = 3 # error! out of range 
Matrix[0][6] = 3 # valid

Notez que la matrice est une adresse majeure "y", ce qui signifie que "l'index y" précède "l'index x". Par exemple :

print Matrix[0][0] # prints 1
x, y = 0, 6 
print Matrix[x][y] # prints 3

Il est important d'être prudent lors de l'indexation et d'éviter d'utiliser le même nom de variable (par exemple, "x") pour les listes interne et externe lorsque vous travaillez avec des 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