squares_list = [x**2 for x in range(10)] # entire list in memory squares_gen = (x**2 for x in range(10)) # one value at a time print(sys.getsizeof(squares_list)) # ~184 bytes ...