Python中类似于Scala的exists()函数的等效函数是什么?

3

Scala列表有一个exists()函数,如果列表中存在满足谓词的元素,则返回布尔值。

在Python中是否有同样简洁的方法实现呢?

我一直在使用

if next(x for x in mylist if x > 10): return Something

有更好的方法吗?

1个回答

9
使用 any 函数:
if any(x > 10 for x in mylist):
    return Something

你可以使用 all 来补充此操作,同时使用 not anynot all 来完善它。
如果没有找到匹配项,你的使用方式 next 会抛出异常。你可以传递一个额外的默认值进行返回代替。
if next((x for x in mylist if x > 10), None):
    return Something

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接