[LugBS] Software in Python
Giuseppe Corbelli
cowo78 a gmail.com
Mar 24 Ago 2010 09:48:28 UTC
On 24/08/2010 11:26, Andrea Gelmini wrote:
>> import itertools
>> itertools.repeat(numero, quante_volte)
>
> Oddio, visto così ad occhio da l'idea di ripetere l'operazione per un
> numero di volte, esattamente come il ciclo for.
> Io cercavo un costrutto per dire a Python di costruire in un'unica
> soluzione tutta la lista.
Come dicevi prima:
>>> [0]*10
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Altre idee al momento non me ne vengono.
Teniamo presente che itertools.repeat dà un iteratore, non una lista, con
tutto quello che ci va dietro.
Un test prestazionale ponderato e approfondito dice questo:
>>> timeit.timeit('[0]*100')
0.87798004385936679
>>> timeit.timeit('list(itertools.repeat(0, 100))')
3.2661020853089155
>>> timeit.timeit('itertools.repeat(0, 100)')
0.31042885427987699
--
Giuseppe "Cowo" Corbelli ~\/~ My software: http://cowo.yoda2000.net
-<! Non c'e' niente da dire in proposito. Tutto quello che uno deve fare e'
colpire i tasti giusti al momento giusto, e lo strumento suona da solo. !>-
J.S. Bach
Maggiori informazioni sulla lista
Lug
|