2

私はいくつかのものを含むリストを持っています:

lista = ['a', 'b', 'foo', 'c', 'd', 'e', 'bar']

述語を満たすリストの最初の項目を取得したいと思いますlen(item) > 2。itertoolsのdropwhileとnextよりもそれを行うためのより良い方法はありますか?

first = next(itertools.dropwhile(lambda x: len(x) <= 2, lista))

私は[item for item in lista if len(item)>2][0]最初に使用しましたが、最初にリスト全体を生成するにはPythonが必要です。

4

1 に答える 1

7
>>> lista = ['a', 'b', 'foo', 'c', 'd', 'e', 'bar']
>>> next(i for i in lista if len(i) > 2)
'foo'
于 2010-05-04T10:18:43.283 に答える