# 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) )