18

構文を使用してPythonで文字列からリストを作成する必要があり、[f(char) for char in string]に等しいf(x)の値を無視(リストに挿入しない)できるようにしたいと考えていますNone

どうやってやるの ?

4

1 に答える 1

35

「サブクエリ」を作成できます。

[r for r in (f(char) for char in string) if r is not None]

すべてのFalse値(0、False、Noneなど)も無視できるようにすると、次のfilterように使用できます。

filter(None, (f(char) for char in string) )
# or, using itertools.imap,
filter(None, imap(f, string))
于 2010-10-10T12:06:53.943 に答える