Une note de ce à quoi j'étais accro lors de la création d'un tableau multidimensionnel vide
Je voulais créer un tableau bidimensionnel vide dans le script, je l'ai donc créé avec le code suivant.
hoge = [[]] * 5
Ensuite, pour une raison quelconque, je n'obtiens pas les résultats escomptés. Par exemple,
>>> hoge = [[]] * 5
>>> for i in range(5):
hoge[i].append(i)
Lorsque vous vérifiez le contenu de hoge comme
>>> print hoge
[[0],[1],[2],[3],[4]]
Je pensais que ce serait
>>> print hoge
[[0,1,2,3,4],[1,2,3,4],[0,1,2,3,4],[0,1,2,3,4],[0,1,2,3,4]]
C'est devenu comme ça. Après tout, l'objet dupliqué avec * semble n'être qu'une référence à l'objet d'origine, comme l'objet créé par l'affectation avec =. Après tout, pour créer un tableau bidimensionnel vide,
[[] for i in range(5)]
Je me demande s'il vaut mieux le faire.
Recommended Posts