How to explain that list comperhensions expression does not work (python 3.8.2 32bit env):
def perfect_squares(max_psqare):
psqares = [0]
return [psqares.append(psqares[-1] + 2 * i - 1) for i in range(1, int(max_psqare ** 0.5) + 1)]
in contrast to:
def perfect_squares(max_psqare):
psqares = [0]
max_base = int(max_psqare ** 0.5)
for i in range(1, max_base + 1):
psqares.append(psqares[-1] + 2 * i - 1)
return psqares
First one gives array of None values? Comperhension expression does not have access to psqares stack?