5 ms·
We all love short and fast. But this is definitely an interesting approach. I'd love to see similar approaches to problems if you guys can point out to some.
by hknozcan 13y ago
We all love short and fast. But this is definitely an interesting approach. I'd love to see similar approaches to problems if you guys can point out to some.
- StavrosK 13y agoI would also, I love this sort of thing. How about: >>> some_boolean = False >>> ["Thing 1", "Thing 2"][some_boolean] "Thing 1"
- icebraining 13y agoYeah, but unlike the hack in the article, the more readable version of that code, "Thing 1" if some_boolean else "Thing 2" is also almost twice as fast(775 vs 1340 ns, on my machine).
- StavrosK 13y agoI was more posting it for the "cute hack" value, rather than speed. Speed was significant in the post because the author needed their library to be fast.
- _ZeD_ 13y agothe problem with this expression is that it doesn't "short circuit". Both "Thing 1" and "Thing 2" (in this cases object, but the can be function calls) are evaluated before the "some_boolean" usage.
- TheLoneWolfling 13y agoThat can be an advantage in some cases, however. Not generally, though. In particular, if you want the side effects of both operations. Trying to write multiple things while checking if any of them failed, for instance.
- hknozcan 13y agoShort but I doubt this will be faster as noted.
- Jach 13y agoYou might like the Python Infrequently Answered Questions: http://norvig.com/python-iaq.html http://norvig.com/python-iaq.html (Even if it's a bit old.)
- aidos 13y agoThanks for that. An enjoyable read. Shame it's so out of date now.