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