Ajouter des éléments à un tableau 2D

Résolu/Fermé
charline159 Messages postés 212 Date d'inscription lundi 14 août 2017 Statut Membre Dernière intervention 22 juin 2022 - 29 avril 2021 à 20:12
charline159 Messages postés 212 Date d'inscription lundi 14 août 2017 Statut Membre Dernière intervention 22 juin 2022 - 29 avril 2021 à 21:39
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

charline159 Messages postés 212 Date d'inscription lundi 14 août 2017 Statut Membre Dernière intervention 22 juin 2022 1
29 avril 2021 à 21:39
En fait il suffisait de mettre:


arr[row][col] = [0]


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