Re: Reinventing a more limited wheel
No, and that is precisely the point. If you think that
results = [(x, f(x), x/f(x)) for x in input_data if f(x) > 0]
is in any way equivalent to
results = [(x, y, x/y) for x in input_data if (y := f(x)) > 0]
then I don't want you on my team, and may I never be affected by any your code.
There is absolutely no way to ensure that f(x) is idempotent. If you don't understand that, then step away from the keyboard.