如果我有一个列表理解,比如
[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]
但目前这是SyntaxError
py 2.x中的一个。我希望能够引用列表理解的“表达式”或它的“list_if”部分的结果值。
我也试过
[_ for x in oldlist if mymap.get(x,None)]
但那是一个NameError
,我想_
这只是在线上的一些解释器功能。
编辑
有没有办法以某种方式引用这个临时/匿名/未命名变量,而无需重新迭代列表?