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