lijin-THU / notes-python

中文 Python 笔记

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

list和tuple的遍历速度问题

jsonvin opened this issue · comments

In [4]:
%timeit for row in lst: list(row)
100 loops, best of 3: 4.12 ms per loop
In [5]:
%timeit for row in tup: tuple(row)
100 loops, best of 3: 2.07 ms per loop

这个地方有个疑问,我理解的话,这里差距的产生和list(row)与tuple(row)的速度有关吧?实际遍历的速度应该是差不多吧

In [1]:
from numpy.random import rand
values = rand(10000,4)
lst = [list(row) for row in values]
tup = tuple(tuple(row) for row in values)
a=1

In [2]: %timeit for row in lst: b=a+1
1000 loops, best of 3: 381 µs per loop

In [3]: %timeit for row in tup: b=a+1
1000 loops, best of 3: 368 µs per loop

实际测试可以发现,你的理解应该是对的

yes,your're right