I'm trying to design a program that times appending #s vs inserting them. I am able to get the first test to run but after that, nothing. Can anybody help?
here is the error i get...
import timeit
#Tests for appending in different ranges
def test1A():
l = []
for i in range(100):
l.append(i)
def test2A():
l = []
for i in range(1000):
l.append(i)
def test3A():
l = []
for i in range(10000):
l.append(i)
def test4A():
l = []
for i in range(100000):
l.append(i)
def test5A():
l = []
for i in range(1000000):
l.append(i)
def test6A():
l = []
for i in range(1000):
l.append(i)
#Tests for inserting in different ranges
def test1I():
l = []
for i in range(100):
l.insert(i)
def test2I():
l = []
for i in range(1000):
l.insert(i)
def test3I():
l = []
for i in range(10000):
l.insert(i)
def test4I():
l = []
for i in range(100000):
l.insert(i)
def test5I():
l = []
for i in range(1000000):
l.insert(i)
def test6I():
l = []
for i in range(10000000):
l.insert(i)
#Timers for appending and inserting
def main():
t1a = timeit.Timer("test1A()", "from __main__ import test1A")
print("Test1A took ", t1a.timeit(number=100), " milliseconds")
t1i = timeit.Timer("test1I()", "from __main__ import test1I")
print("Test1I took ", t1i.timeit(number=100), " milliseconds")
t2a = timeit.Timer("test2A()", "from __main__ import test2A")
print("Test2A took ", t2a.timeit(number=1000), " milliseconds")
t2i = timeit.Timer("test2I()", "from __main__ import test2I")
print("Test2I took ", t2i.timeit(number=1000), " milliseconds")
t3a = timeit.Timer("test3A()", "from __main__ import test3A")
print("Test3A took ", t3a.timeit(number=10000), " milliseconds")
t3i = timeit.Timer("test3I()", "from __main__ import test3I")
print("Test3I took ", t3i.timeit(number=10000), " milliseconds")
t4a = timeit.Timer("test4A()", "from __main__ import test4A")
print("Test4A took ", t4a.timeit(number=100000), " milliseconds")
t4i = timeit.Timer("test4I()", "from __main__ import test4I")
print("Test4I took ", t4i.timeit(number=100000), " milliseconds")
t5a = timeit.Timer("test5A()", "from __main__ import test5A")
print("Test5A took ", t5a.timeit(number=1000000), " milliseconds")
t5i = timeit.Timer("test5I()", "from __main__ import test5I")
print("Test5I took ", t5i.timeit(number=1000000), " milliseconds")
t6a = timeit.Timer("test6A()", "from __main__ import test6A")
print("Test6A took ", t6a.timeit(number=10000000), " milliseconds")
t6i = timeit.Timer("test6I()", "from __main__ import test6I")
print("Test6I took ", t6i.timeit(number=10000000), " milliseconds")
here is the error i get...
Test1A took 0.0026590783779719637 milliseconds
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
main()
File "C:/Documents and Settings/delvel/Desktop/lab2.py", line 65, in main
print("Test1I took ", t1i.timeit(number=100), " milliseconds")
File "C:\Python33\lib\timeit.py", line 190, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
File "C:/Documents and Settings/delvel/Desktop/lab2.py", line 36, in test1I
l.insert(i)
TypeError: insert() takes exactly 2 arguments (1 given)