13
我需要使用[f(char) for char in string]
语法从python中的字符串构建列表,我希望能够忽略(不插入列表中)f(x)的值等于None
。在python中构建列表时忽略元素
我该怎么做?
我需要使用[f(char) for char in string]
语法从python中的字符串构建列表,我希望能够忽略(不插入列表中)f(x)的值等于None
。在python中构建列表时忽略元素
我该怎么做?
我们可以创建一个“子查询”。
[r for r in (f(char) for char in string) if r is not None]
如果你允许所有的假值(0,假,无等)一并忽略,filter
可用于:
filter(None, (f(char) for char in string))
# or, using itertools.imap,
filter(None, imap(f, string))
我喜欢的第一个,谢谢!非常干净,只是建立一个迭代器作为中间件。我一直在做两行,或者如果f(x)不是None,'[f(x)for x in l,不必要地执行操作两次。 – 2017-02-21 04:53:27