Optimizing the any function in python
oliverspohngellert.comSo you're artificially building something that's gives you some of the benefit of using a generator expression in a list expression, instead of just using a generator expression?
I wouldn't call it artificially building something, but I suppose yes. I also find this code to be much more readable than generator code. Once you understand the function, all you have to do is pass it a function that returns a boolean.
How is
harder to read thanany(function_takes_time(i) for i in range(10 ** 3))fast_any([(lambda x: (lambda: function_takes_time(x)))(i) for i in range(10 ** 3)])Yeah, sorry. Looking back into it looks like I was really re-inventing the wheel here. Still a fun exercise for me. Thanks :)
The first one is clearly easier to read than the second. However the first one is slow. I believe fast_any is easier to read than generator code.
Actually, apologies I see now. I always associated generator's with the `yields` keyword, but maybe I have to look into them again. Thanks!
The first IS generator code. That's a generator expression, note that it does not have the [] of a list expression.