Tableau 2 dimensions Python
Fermé
doudouxa
Messages postés
1
Date d'inscription
mercredi 20 décembre 2017
Statut
Membre
Dernière intervention
20 décembre 2017
-
Modifié le 20 déc. 2017 à 01:43
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 22 déc. 2017 à 18:46
quent217 Messages postés 421 Date d'inscription vendredi 25 septembre 2015 Statut Membre Dernière intervention 1 mars 2024 - 22 déc. 2017 à 18:46
A voir également:
- Python tableau 2d
- Tableau croisé dynamique - Guide
- 37 2d 3f 3d 31 ✓ - Forum Loisirs / Divertissements
- 34 2d 3f 3d 31 - Forum Programmation
- Tableau ascii - Guide
- Tableau word - Guide
1 réponse
quent217
Messages postés
421
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2024
346
22 déc. 2017 à 18:46
22 déc. 2017 à 18:46
Bonjour,
le problème vient de cette ligne :
Quand tu fais ça, python va créer une liste A contenant des 0 et ensuite il va créer une liste B qui contient elle même plusieurs fois la liste A. Le problème c'est que c'est la référence de la liste A qui est copié et les éléments de B correspondent donc en réalité à la même liste. Cela a pour effet que lorsque tu veux modifier une ligne du tableau, tu modifie en réalité toutes les lignes du tableau de la même manière.
Pour corriger le problème, il faut créer la liste de cette manière :
En faisant comme ça, python va créer plusieurs liste différentes qui contiennent toutes des 0.
le problème vient de cette ligne :
X = [[0] * colonnes] * lignes
Quand tu fais ça, python va créer une liste A contenant des 0 et ensuite il va créer une liste B qui contient elle même plusieurs fois la liste A. Le problème c'est que c'est la référence de la liste A qui est copié et les éléments de B correspondent donc en réalité à la même liste. Cela a pour effet que lorsque tu veux modifier une ligne du tableau, tu modifie en réalité toutes les lignes du tableau de la même manière.
Pour corriger le problème, il faut créer la liste de cette manière :
X = [[0] * colonnes for i in range(lignes)]
En faisant comme ça, python va créer plusieurs liste différentes qui contiennent toutes des 0.