ネイサンキルイ:
定義に従って、noneキーワードは、NULL値、または全く値を定義するために使用されます。しかし、なぜ:
inputs = [3, 0, 1, 2, None]
print(list(filter(None, inputs)))
このリストを返しません[3,1,2]
か[3,0,1,2]
?
jonrsharpe:
場合は機能があり
None
、恒等関数が仮定され、つまり、すべての要素を反復可能な偽です削除されます。
恒等関数は、基本的には次のとおりです。
def identity(something):
return something
したがって、任意の値ことがこの手段にフィルタリング評価偽を、yは出力から除外されます。
あなたが見た場合、テスト真理値あなたがそれを見ることができる、と同様にNone
、0
Pythonで偽のyを評価します。
ここでは、内蔵偽と見なさオブジェクトのほとんどは、以下のとおりです。
- 定数は、偽のように定義:
None
とFalse
。- 任意の数値型のゼロ:
0
、0.0
、0j
、Decimal(0)
、Fraction(0, 1)
- ...