Wpis z mikrobloga

cześć mirko, mam dwie funkcje jak poniżej. chcę sprawdzić która jest bardziej wydajna, jak mogę to zrobić kiedy funkcje potrzebują podania parametru? myślałem żeby zmierzyć czas z pomocą modułu timeit ale nie wiem jak zrobić żeby przy mierzeniu czasu wywolac obie funkcje tymi samymi parametrami (które bym wczesniej przygotowal funkcją jakąś np)
#python #naukaprogramowania

def one(s):
return map(''.join, set(itertools.permutations(s)))

def two(s):
return list(''.join(p) for p in set(itertools.permutations(s)))
  • 9
@jakuzii:
chodzi Ci o coś takiego? co nie działa tak jak byś chciał?

from timeit import timeit
import itertools

f1 = """\
import itertools
PARAMS = ('ABCD','1234')
def one(s):
return map(''.join, set(itertools.permutations(s)))
for param in PARAMS:
one(param)"""

f2 = """\
import itertools
PARAMS = ('ABCD','1234')
def two(s):
return list(''.join(p) for p in set(itertools.permutations(s)))
for param in PARAMS:
two(param)"""

print(timeit(f1))
print(timeit(f2))