list.pop(0) deque.popleft()
import time
import collections
l = [i for i in range(100)]
l1 = [i for i in range(10000)]
l2 = [i for i in range(100000)]
d = collections.deque(l)
d1 = collections.deque(l1)
d2 = collections.deque(l2)
def testlist(l):
ll = len(l)
t1 = time.time()
while len(l)>0:
l.pop(0)
print(ll,' time:',time.time()-t1)
def testdeque(d):
ld = len(d)
t1 = time.time()
while len(d)>0:
d.popleft()
print(ld,'100l time:',time.time()-t1)
for i in [l,l1,l2]:
testlist(i)
for i in [d,d1,d2]:
testdeque(i)
out:
(100, ' time:', 4.696846008300781e-05)
(10000, ' time:', 0.022357940673828125)
(100000, ' time:', 2.1213319301605225)
(100, '100l time:', 5.2928924560546875e-05)
(10000, '100l time:', 0.0031049251556396484)
(100000, '100l time:', 0.017083168029785156)