元组问题
问题:重复测试100次,求创建列表的速度快,还是创建元组的速度快, 并分别计算出平均速度这是我的解题思路
import timeit
l = []
t = ()
sum1= 0
aver1 =0
sum2= 0
aver2 =0
while True:
temp = input("请选择您想创建的内容:")
l.append(temp)#将输入内容转成列表形式
t=(temp)#将输入内容转成元组形式
break
test1 = timeit.repeat(l,repeat=100)# 计算列表形式重复100次的分别时间
for i in test1:
sum1 = sum1+i#所有时间相加总和
aver= sum1/100#求重复100次列表运行时间的平均数
test2 = timeit.repeat(t,repeat=100)# 计算元组形式重复100次的分别时间
for y intest2:
sum2 = sum2+y #所有时间相加总和
aver2= sum2/100#求重复100次元组运行时间的平均数
if aver1 > aver2:
print("元组所需时间短")
else:
print("列表所需时间短")
但是 到了 test1 = timeit.repeat(l,repeat=100) 这一步就开始报错,看不懂提示的意思
请问大神们怎么改才能让程序运行下去 import timeit
from timeit import repeat
l = []
def list_1():
for i in range(3):
l.append(i)
return l
test1 = repeat(list_1,repeat=6)# 计算列表形式重复100次的分别时间
print(test1)
time_1 = sum(test1)
avarage_1 = time_1/(len(test1))
tuple_2 = []
def tuple_1():
for i in range(3):
tuple_2.append(i)
tuple_3 = tuple(tuple_2)
test2 = repeat(tuple_1,repeat=6)# 计算元组形式重复100次的分别时间
print(test2)
time_2 = sum(test2)
avarage_2 = time_2/(len(tuple_3))
if time_1 > time_2:
print("元组所需时间短")
else:
print("列表所需时间短") 你试试这个
把repeat的值改成100,然后跑。。如果出错的话就是时间小于1,不能除o 深谙流年 发表于 2021-9-25 00:53
小白所写,百度所查,不喜勿点欢迎一起探讨 如果是来显示你有多牛逼的话,,拜拜了你 深谙流年 发表于 2021-9-25 00:54
你试试这个
把repeat的值改成100,然后跑。。如果出错的话就是时间小于1,不能除o
函数里面记得也改,,,我是三个数,方便跑的快,,,你可以range100,看你电脑会不会卡死 哈哈哈,别太多了,太多了会卡 深谙流年 发表于 2021-9-25 00:53
谢谢,我现在还没学到函数表达,只会while,for, if 这类简单的表达式,能否指出我错在哪里? luck78 发表于 2021-9-25 10:07
谢谢,我现在还没学到函数表达,只会while,for, if 这类简单的表达式,能否指出我错在哪里?
好像是模块问题,返回值不能被迭代的样子,
页:
[1]