Python中是否有一个内置函数,可以在给定列表和验证函数的情况下返回单个结果?

例如,我知道我可以做到以下几点:

    resource = list(filter(lambda x: x.uri == uri, subject.resources))[0]

以上内容将基于资源从资源列表中提取资源.uri字段.虽然这个字段的值是uinique,所以我知道我将得到1或0个结果.filter函数将迭代整个列表.在我的例子中,它包含20个元素,但我想知道是否有其他内置方法可以在第一次匹配时停止迭代.

推荐答案

https://docs.python.org/3/library/functions.html#next

next(iterator[, default])

通过调用迭代器的next()方法从迭代器中检索下一项.如果给定默认值,则在迭代器耗尽时返回,否则将引发StopIteration.

e、 g.就你而言:

resource = next(filter(lambda x: x.uri == uri, subject.resources), None)

Python-3.x相关问答推荐

使用Polars阅读按日期键分区的最新S3镶木地板文件

DuckDB:带有嵌套对象的星形表达式

如何通过Pandas为不同的列集垂直设置列数据?

Pyvis和Networkx:如何根据源或目标使 node colored颜色 不同

使用递归将int转换为字符串

TypeError: issubclass() arg 1 在 Flask 中导入 langchain 时必须是一个类

一起使用数据类和枚举

如何将 WebDriver 传输到导入的测试?

如何通过 python 使用 auth no priv 获取 SNMPv3?

在新数据帧上自动提取两个字符串 python 之间的相等性

如何将列表和字典逐行组合在一起

Python 3 - 给定未知数量的类别动态地将字典嵌套到列表中

attrs 将 list[str] 转换为 list[float]

为什么在 Python 中不推荐使用 MutableString?

使用 python2 和 python3 创建一个 virtualenv

谁能给我一个 Python 3 中标准输入和标准输出的快速教程?

计数大于Pandas groupby 中的值的项目

如何从 Python 3 导入 FileNotFoundError?

如何将发音相似的词放在一起

通过字典有效地替换Pandas 系列中的值