Aggiungi un elemento a un elenco più volte con la comprensione dell'elenco [duplicato]
Aug 23 2020
Sto facendo una lista nel modo seguente:
lst = ['val1', 'val2', 'val3']
output = [item for it in lst]
... tuttavia, vorrei aggiungere un numero arbitrario di ciascun elemento all'elenco, non solo uno.
Qualcosa del genere (se volessi aggiungere 3 elementi ogni volta all'elenco):
output = [item*3 for item in lst]
... in modo che se lst
assomiglia a questo:
['val1', 'val2', 'val3']
... output
assomiglia a questo:
['val1', 'val1', 'val1', 'val2', 'val2', 'val2'...]
Come posso farlo?
Risposte
3 marsnebulasoup Aug 23 2020 at 09:32
In questo modo (dovrai cambiare il codice in base alle tue esigenze, ovviamente):
lst = ['val1', 'val2', 'val3']
output = [i for i in lst for x in range(3)]
print(output)
Output (formattato):
[
'val1', 'val1', 'val1',
'val2', 'val2', 'val2',
'val3', 'val3', 'val3'
]
Modificare 3 nel numero di volte che si desidera ripetere l'elemento.
2 LevB Aug 23 2020 at 10:08
Che ne dici di scorrere l'elenco nx?
li = ['val1', 'val2', 'val3']
n=3
print(sorted([el for el in li*n]))
Produzione:
['val1', 'val1', 'val1', 'val2', 'val2', 'val2', 'val3', 'val3', 'val3']