【发布时间】:2023-03-17 19:55:01
【问题描述】:
我有一个包含许多东西的列表:
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首先生成整个列表。
【问题讨论】: