n61*_*007 1 python list-comprehension temporary temporaries
如果我有一个列表理解
[mymap.get(x, None) for x in oldlist if mymap.get(x,None)]
Run Code Online (Sandbox Code Playgroud)
有没有办法mymap.get(x,None)只在这里做一次?
我想像
[y for x in oldlist if mymap.get(x,None) as y]
Run Code Online (Sandbox Code Playgroud)
但是目前这是SyntaxErrorpy 2.x中的。我希望能够引用列表理解的“表达式”或它的“ list_if”部分的结果值。
我也尝试过
[_ for x in oldlist if mymap.get(x,None)]
Run Code Online (Sandbox Code Playgroud)
但这是一个NameError,我想_只是在线上的某些解释器功能。
编辑
有没有办法以某种方式引用此临时/匿名/未命名变量,而无需重新列出该列表?
[y for y in (mymap.get(x, None) for x in oldlist) if y]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
754 次 |
| 最近记录: |