30 lines
766 B
Python
30 lines
766 B
Python
# performance.py
|
|
from time import time
|
|
|
|
mx = 5000
|
|
|
|
t = time() # start time for the for loop
|
|
floop = []
|
|
for a in range(1, mx):
|
|
for b in range(a, mx):
|
|
floop.append(divmod(a, b))
|
|
print('for loop: {:.4f} s'.format(time() - t)) # elapsed time
|
|
|
|
|
|
t = time() # start time for the list comprehension
|
|
compr = [
|
|
divmod(a, b) for a in range(1, mx) for b in range(a, mx)]
|
|
print('list comprehension: {:.4f} s'.format(time() - t))
|
|
|
|
|
|
t = time() # start time for the generator expression
|
|
gener = list(
|
|
divmod(a, b) for a in range(1, mx) for b in range(a, mx))
|
|
print('generator expression: {:.4f} s'.format(time() - t))
|
|
|
|
|
|
# verify correctness of results and number of items in each list
|
|
print(
|
|
floop == compr == gener, len(floop), len(compr), len(gener)
|
|
)
|