Temporary variables in list comprehensions

Chris Angelico rosuav at gmail.com
Sun Jan 8 23:09:33 EST 2017


On Mon, Jan 9, 2017 at 2:53 PM, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:
> [(tmp, tmp + 1) for x in data for tmp in [expensive_calculation(x)]]
>>> I can't decide whether that's an awesome trick or a horrible hack...

A horrible hack on par with abusing a recursive function's arguments
for private variables. Much better would be to refactor the append
part:
def this_and_one(value):
 return value, value + 1
[this_and_one(expensive_calculation(x)) for x in data]
ChrisA


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /