31

1以下のmin()例で返される巧妙な組み込み関数または何かはありますか? (何も返さないのには確かな理由があるに違いありませんが、私の特定のケースでは、None値を無視する必要があります。本当に悪いです!)

>>> max([None, 1,2])
2
>>> min([None, 1,2])
>>> 
4

3 に答える 3

50

None返されています

>>> print min([None, 1,2])
None
>>> None < 1
True

戻りたい場合1は、次のようにフィルタリングする必要がありますNone

>>> L = [None, 1, 2]
>>> min(x for x in L if x is not None)
1
于 2010-02-19T10:16:54.240 に答える
5

ジェネレーター式を使用する:

>>> min(value for value in [None,1,2] if value is not None)
1

最終的には、フィルターを使用できます。

>>> min(filter(lambda x: x is not None, [None,1,2]))
1
于 2010-02-19T10:18:50.093 に答える