[python] Modifikace seznamu bez kopirovnani (bylo SQLite - forma selectovaných dat)

Pavel Kosina geon na post.cz
Pondělí Leden 8 10:41:36 CET 2007


Petr Prikryl napsal(a):
> Čím je tato obava podložena? Tipnul bych, že k tomu
> není důvod. Naopak bych čekal, že ta druhá verze bude
> rychlejší. Dá se to změřit -- přenechávám iniciativu jiným.
>
>   
opak=10**6

import timeit

def f():
   a = [(1,2),(3,4)]
   for i in range(len(a)):
       a[i] = list(a[i])
   

t=timeit.Timer("f()","from __main__ import f")
print "f():", t.timeit(opak)


def g():
   a = [ (1, 2), (3, 4) ]
   for i, elem in enumerate(a):
       a[i] = list(elem)

t=timeit.Timer("g()","from __main__ import g")
print "g():", t.timeit(opak)


f(): 10.2249000921
g(): 9.58399237892
 >>>

-- 
geon
Pavel Kosina



Další informace o konferenci Python