Найти - Пользователи
Полная версия: почему такая маленькая скорость выполнения цикла со словарём?
Начало » Python для новичков » почему такая маленькая скорость выполнения цикла со словарём?
1
buddha
кусок взял отсюда http://habrahabr.ru/post/144614/

def trydict():
    freqs = {}
    for c in "abracadabra":
        try:
            freqs[c] += 1
        except:
            freqs[c] = 1
#
#
#
if __name__ == '__main__':
    from timeit import Timer
    t = Timer("trydict()", "from __main__ import trydict")
    print t.timeit()

У меня этот цикл выполняется 10 секунд с лишним. Почему так долго?( Достаточно общего смысла)
fata1ex
Потому что не надо бездумно использовать незнакомые модули. Почитайте про timeit.Timer.
buddha
fata1ex
Потому что не надо бездумно использовать незнакомые модули. Почитайте про timeit.Timer.
Уточните, пжлст, это вы про кого имеете ввиду?

попробовал просто запустить функцию с выводом словаря
def trydict():
    ...
    print freqs
if __name__ == '__main__':
    trydict()
Всё моментально отработало. Видать кто-то на хабре погорячился с использованием timeit
fata1ex
Я имел в виду вас. Привыкайте смотреть по сторонам и слушать, что говорят вам окружающие. Прочитайте внимательно, что именно вы взяли из того поста на хабре и что хотел автор кода донести до читателей.
buddha
спасибо, КЭП)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB