【发布时间】:2017-04-27 23:29:46
【问题描述】:
这是一个关于生成器/列表理解的通用 Python 问题。
对于给定的可迭代 x,我需要一个如下所示的列表理解:
[ flatten(e) for e in x if flatten(e) != '' ]
函数flatten 可能很昂贵,所以最好只调用一次。有没有办法在富有表现力的单行中做到这一点?
【问题讨论】:
-
@selcuk Mmmh,不确定这两个问题是否足以共享 duplicate 标志...“局部变量”问题的答案确实有助于解决这个问题,但是这里提供的答案的简洁性是“局部变量”问题的答案所无法比拟的。
-
我不同意,因为即使这里接受的答案与副本几乎相同。
标签: python generator list-comprehension