ちょいメモ。
いきなりやり方。
# "items"はlist item = next((item for item in items if item), 'All are Nones')
ここで、第2引数はNone
でない要素がなかった時に返されるデフォルト値なので、何でもいいです。
使用例
>>> a = [None, None, None, 1, 2, 3, 4, 5] >>> next((item for item in a if item), None) 1
補足
next
の第2引数に何も指定しないと、None
でない要素がなかった時にStopIteration
エラーが発生します。
>>> a = [None, None, None] >>> next((item for item in a if item)) Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
リファレンス
python - Getting the first non None value from list - Stack Overflow