python速度比较快_Python 列表与元组的速度比较

附件:

02.09 Python 列表与元组的速度比较.html

280.4K ·

百度网盘

正文:

列表与元组的速度比较

IPython 中用 magic 命令 %timeit 来计时。

比较生成速度

In [1]:

%timeit [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]

184 ns ± 4.92 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)

In [2]:

%timeit (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25)

14 ns ± 0.516 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)

可以看到,元组的生成速度要比列表的生成速度快得多,相差大概一个数量级。

比较遍历速度

产生内容相同的随机列表和元组:

In [3]:

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

In [4]:

%timeit for row in lst: list(row)

2.05 ms ± 57.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [5]:

%timeit for row in tup: tuple(row)

1.09 ms ± 65.4 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

在遍历上,元组和列表的速度表现差不多。

比较遍历和索引速度:

In [6]:

%timeit for row in lst: a = row[0] + 1

2.39 ms ± 30.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [7]:

%timeit for row in tup: a = row[0] + 1

2.53 ms ± 336 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

元组的生成速度会比列表快很多,迭代速度快一点,索引速度差不多。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值