Comment initialiser une liste avec 10 fois une valeur par défaut en Python?
Je cherche un moyen esthétique d’initialiser une liste vide avec une plage spécifique. Alors faites une liste qui contient 10 zéros ou quelque chose pour être sûr que ma liste a une longueur spécifique.
Si la "valeur par défaut" souhaitée est immuable, la suggestion de @ eduffy, par exemple [0]*10
, est suffisant.
Mais si vous voulez, disons, une liste de dix dict
s, ne ( pas utilisez [{}]*10
- cela vous donnerait une liste avec le identique initialement vide dict
dix fois, pas dix distincts. Utilisez plutôt [{} for i in range(10)]
ou des constructions similaires pour construire dix dict
s distinctes afin de constituer votre liste.
la multiplication de liste fonctionne.
>>> [0] * 10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Dans une discussion sur les composants internes des conteneurs de base dans Python lors de la PyCon 2012, Raymond Hettinger suggère d'utiliser [None] * n
pour pré-allouer la longueur souhaitée.
Diapositives disponibles au format PPT ou via Google
L'ensemble du diaporama est assez intéressant. Le la présentation est disponible sur YouTube , mais cela n’ajoute pas grand chose aux diapositives.