Ajouter des éléments à un tableau 2D [Résolu]

Signaler
Messages postés
181
Date d'inscription
lundi 14 août 2017
Statut
Membre
Dernière intervention
29 avril 2021
-
Messages postés
181
Date d'inscription
lundi 14 août 2017
Statut
Membre
Dernière intervention
29 avril 2021
-
Bonjour,
Cela va faire 5 heures que j'essaie d'ajouter des éléments à mon tableau 2D, mais sans succès.

Celui-ci contient des listes.

Pourriez-vous me dire d'où vient l'erreur?

# création d'un mot
word = "bac"

# création du tableau selon la longueur du mot
row_nb = column_nb = len(word)
arr = [ [[]] * column_nb for row in range(row_nb) ]

# remplissage du tableau
  for row in range(len(word)):
    for col in range(len(word)):
      arr[row][col].extend([0])


J'ai le résultat suivant:


# affichage en ligne
[[[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0], [0, 0, 0]]]

# affiche 2D
[0, 0, 0] [0, 0, 0] [0, 0, 0]
[0, 0, 0] [0, 0, 0] [0, 0, 0]
[0, 0, 0] [0, 0, 0] [0, 0, 0]


Je ne comprends pas pourquoi étant donné qu'il n'y a que 2 boucles.

Je voudrais qu'il n'y ait qu'un élément par liste, donc j'aimerais obtenir:
[[[0], [0], [0]], [[0], [0], [0]], [[0], [0], [0]]]

[0] [0] [0]
[0] [0] [0]
[0] [0] [0]

Cordialement

Configuration: Linux / Firefox 88.0

1 réponse

Messages postés
181
Date d'inscription
lundi 14 août 2017
Statut
Membre
Dernière intervention
29 avril 2021
1
En fait il suffisait de mettre:


arr[row][col] = [0]


et non "extends" comme je l'ai fait...