Форум сайта python.su
Добрый день! Уже голову всю поломал, как исправить ошибку TypeError: “'list' object is not caрlable” из учебника Лутца?
#mytimer.py import time resp = 1000 resp_list = range(resp) def timer(func, *pargs, **kargs): start = time.clock() for i in resp_list: ret = func(*pargs, **kargs) elapsed = time.clock() - start return elapsed, ret #timeseqs.py import sys import mytimer resp = 10000 resp_list = range(resp) def for_loop(): res = [] for x in resp_list: res.append(abs(x)) return res def list_comp(): return [abs(x) for x in resp_list] def map_call(): return list(map(abs, resp_list)) def gen_expr(): return list(abs(x) for x in resp_list) def gen_func(): def gen(): for x in resp_list: yield abs(x) return list(gen()) print(sys.version) for test in (for_loop(), list_comp(), map_call(), gen_expr(), gen_func()): elapsed, result = mytimer.timer(test) print('-' * 33) print('%-9s: %.5f => [%s...%s]' % (test.__name__, elapsed, result[0], result[-1]))
Офлайн
В строке
test in (for_loop(), list_comp(), map_call(), gen_expr(), gen_func())
test in (for_loop, list_comp, map_call, gen_expr, gen_func):
Отредактировано Stright (Сен. 17, 2016 13:31:23)
Офлайн
ТОчно!! спасибо большое
Stright
В строке
Офлайн