[Python-ideas] Temporary variables in comprehensions
Kyle Lahnakoski
klahnakoski at mozilla.com
Fri Feb 23 11:14:39 EST 2018
On 2018-02-17 11:23, fhsxfhsx wrote:
> [
> {
> 'id': goods.id,
> 'name': goods.name,
> 'category': gc.name,
> 'category_type': gc.type,
> }
> for goods_id in goods_id_list
> for goods is Goods.get_by_id(goods_id)
> for gc is GoodsCategory.get_by_id(goods.category_id)
> ]
in the short term, it seems for...in [...] is good enough:
> [
> {
> 'id': goods.id,
> 'name': goods.name,
> 'category': gc.name,
> 'category_type': gc.type,
> }
> for goods_id in goods_id_list
> for goods in [Goods.get_by_id(goods_id)]
> for gc in [GoodsCategory.get_by_id(goods.category_id)]
> ]
I personally would like to see with...as... syntax allowed in list
comprehensions, despite `with` being limited to context managers to date.
> [
> {
> 'id': goods.id,
> 'name': goods.name,
> 'category': gc.name,
> 'category_type': gc.type,
> }
> for goods_id in goods_id_list
> with Goods.get_by_id(goods_id) as goods
> with GoodsCategory.get_by_id(goods.category_id) as gc
> ]
..,or maybe `let` reads easier?
> [
> {
> 'id': goods.id,
> 'name': goods.name,
> 'category': gc.name,
> 'category_type': gc.type,
> }
> for goods_id in goods_id_list
> let goods = Goods.get_by_id(goods_id)
> let gc = GoodsCategory.get_by_id(goods.category_id)
> ]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20180223/c6f19063/attachment.html>
More information about the Python-ideas
mailing list