【发布时间】:2013-05-31 03:38:11
【问题描述】:
如果我有类似的列表理解
[mymap.get(x, None) for x in oldlist if mymap.get(x,None)]
有没有办法让mymap.get(x,None) 在这里只一次?
我想像
[y for x in oldlist if mymap.get(x,None) as y]
但目前这是 py 2.x 中的 SyntaxError。我希望能够引用列表理解的"expression" 或其中的“list_if”部分的结果值。
我也试过
[_ for x in oldlist if mymap.get(x,None)]
但那是 NameError,我猜 _ 只是行上的一些解释器功能。
编辑
有没有办法以某种方式引用这个临时/匿名/未命名的变量,而无需重新迭代列表?
【问题讨论】:
标签: python list-comprehension temporary temporaries