Python: iterating over list vs over dict items efficiency

后端 未结 3 852
心在旅途
心在旅途 2020-12-03 21:40

Is iterating over some_dict.items() as efficient as iterating over a list of the same items in CPython?

3条回答
  •  北荒
    北荒 (楼主)
    2020-12-03 22:31

    Although iterating through some_list is 2x speedup than some_dict.items(), but iterating through some_list by index is almost as same as iterating through some_dict by key.

    K = 1000000
    some_dict = dict(zip(xrange(K), reversed(xrange(K))))
    some_list = zip(xrange(K), xrange(K))
    %timeit for t in some_list: t
    10 loops, best of 3: 55.7 ms per loop
    %timeit for i in xrange(len(some_list)):some_list[i]
    10 loops, best of 3: 94 ms per loop
    %timeit for key in some_dict: some_dict[key]
    10 loops, best of 3: 115 ms per loop
    %timeit for i,t in enumerate(some_list): t
    10 loops, best of 3: 103 ms per loop
    

提交回复
热议问题