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底层是链表

猜你喜欢

转载自blog.csdn.net/qq_38988221/article/details/112591836