linux user group brescia

immagine del castello

Archivio della mailing list

[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