This question already has an answer here:
Let’s say I want to create a list of
ints using Python that consists of the cubes of the numbers 1 through 10 only if the cube is evenly divisible by four.
I wrote this working line:
cube4 = [x ** 3 for x in range(1, 11) if (x ** 3) % 4 == 0]
My beef with this line of code is that it’s computing the cube of x twice. Is there more pythonic way to write this line? Or is this as good as it’ll get in a list comprehension?