Timeit.Timer 和insert 和 append 插入元素问题

Python: Timeit.Timer() 内置类型性能分析

1. Syntactic Structure

from timeit import Timer
Timer(stmt='pass', setup='pass', timer=<timer function>)
// stmt  : 要测试的代码语句,封装成函数
// 'pass': 字符串
// setup : 引入要测试的函数设置,因为测试需要在另外一个空间进行,
//          那个空间需要引入要测试的函数
// timer :  定时器,

2. code analysis

//进行列表的extend函数封装
def test_extend_time():
    li = []
    for i in range(1000):
        li.extend([i])

//进行列表的相加操作函数封装
def test_add_time():
    li = []
    for i in range(1000):
        li = li + [i]

//进行列表的append函数封装
def test_append_time():
    li = []
    for i in range(1000):
        li.append(i)

//进行列表的insert每次向第一位插入 函数封装
def test_insert_time():
    li = []
    for i in range(1000):
        li.insert(0, i)

//获得测试结果
get_extend_timer = Timer('test_extend_time()', 'from __main__ import test_extend_time')
print('get_extend_timer: ', get_extend_timer.timeit(1000)) //测试1000次


get_add_timer = Timer('test_add_time', 'from __main__ import test_add_time')
print('get_add_timer: ', get_add_timer.timeit(1000))

get_append_timer = Timer('test_append_time()', 'from __main__ import test_append_time')
print('get_append_timer: ', get_append_timer.timeit(1000))

get_insert_timer = Timer('test_insert_time', 'from __main__ import test_insert_time')
print('get_insert_timer: ', get_insert_timer.timeit(1000))

3. 测试结果

在这里插入图片描述

Python 关于列表insert 和 append 插入元素问题

insert 和 append 插入元素,更像是插入一个镜像,被插入列表元素会随着原始原始改变而改变

insert :

li = [1, 2, 3, 4, 5]
li2 = [0]
print("我是原始列表:", li)
li.insert(2, li2)
print("我是插入列表:", li)
li2[0] = 9
print("我是插入后原始列表修改后的:", li)

在这里插入图片描述

append:

li = [1, 2, 3, 4, 5]
li2 = [0000]
print("我是原始列表:", li)
li.append(li2)
print("我是插入列表:", li)
li2[0] = 99999
print("我是插入后原始列表修改后的:", li)

在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值