135 votes

Python : Ajouter un élément à une liste N fois

Cela semble être quelque chose pour lequel Python aurait un raccourci. Je veux ajouter un élément à une liste N fois, en faisant effectivement ceci :

l = []
x = 0
for i in range(100):
    l.append(x)

Il me semble qu'il devrait y avoir une méthode "optimisée" pour cela, quelque chose du genre :

l.append_multiple(x, 100)

C'est le cas ?

12 votes

J'ai fini par choisir l.extend([x] * 100) car il correspondait le mieux à ma situation. C'est à Amber que revient le mérite de la réponse la plus complète. Merci !

6 votes

Assurez-vous de bien comprendre la sémantique de référence de Python avant de l'utiliser pour quelque chose de non trivial. Les x ajoutés à l sont tous le même x, donc la mutation de l'un d'entre eux les affecte tous (tous les un, référencés 100 fois).

1 votes

Pour une clarification : Je l'utilise pour les entiers, donc mon utilisation est sûre.

3voto

Mark Elliot Points 31871

Vous pourriez faire cela avec une liste de compréhension

l = [x for i in range(10)];

0voto

Mr. Holy Points 1

Vous pouvez ajouter n'importe quelle valeur comme ceci pour plusieurs fois :

a = [1,2,3]
b = []
#if you want to add on item 3 times for example:
for i in range(len(a)):
    j = 3
    while j != 0:
        b.append(a[i])
        j-=1
#now b = [1,1,1,2,2,2,3,3,3]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X