python实验:1.两个列表对应元素相乘;2.测试List和deque时间对比测试

1、实现两个列表对应元素相乘,结果生成一个新的列表,两个列表的元素为10个,每个元素均用random下面的randint生成随机整数,randint传入两个参数,分别为生成随机整数的下界和上界

import random
L1=[]
L2=[]
L3=[]
for i in range(10):
    L1.append(random.randint(0,10))#尾插法
    L2.append(random.randint(0,10))
   # L2.insert(i,random.randint(i,10))#指定位置插入
    t=L1[i]*L2[i]
    L3.insert(i,t)
   # help(L)#通过help查看数组辅助函数
print(L1)
print(L2)
print(L3)

注:python中*表示乘法,**表示平方

2

deque:双端队列     collection库:集合类库

 

import time

from collections import deque

print('List:')
L=[]
#列表0号位置插入(模拟头部插入)
start=time.clock()
for i in range(100000):
    L.insert(0,i)
end=time.clock()
#print(L)
print('头插法时间;')
print(end-start)

#头部删除
start1=time.clock()
for i in range(100000):
    L.pop(0)
end1=time.clock()
print('头部删除时间:')
print(end1-start1)


#尾部插入建立链表
L=[]
start=time.clock()
for i in range(100000):
    L.append(i)
end=time.clock()
#print(L)
print('尾部插入时间:')
print(end-start)

start1=time.clock()
for i in range(100000):
    L.pop()
end1=time.clock()
print('尾部删除时间:')
print(end1-start1)

#时间效率相差300倍,尾插更快
#尾部删除更快




print('Deque:')
#help(deque)
#deque的定义
d=deque()
start=time.clock()
for i in range(100000):
    d.append(i)
end=time.clock()
print('尾部插入:')
print(end-start)
#print(d)
start1=time.clock()
for i in range(100000):
    d.pop()
end1=time.clock()
print('尾部删除:')
print(end1-start1)

d=deque()
start=time.clock()
for i in range(100000):
    d.appendleft(i)
end=time.clock()
print('头部插入:')
print(end-start)
#print(d)
start1=time.clock()
for i in range(100000):
    d.popleft()
end1=time.clock()
print('头部删除:')
print(end1-start1)

#deque头部插入,尾部插入时间相差不大

deque的头部插入与尾部插入时间相差不大;头部删除与尾部删除时间相差不大;deque底层是链表

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值