Python中的序列查找功能

Python中的序列查找功能,第1张

Python中的序列查找功能

这是我使用的模式:

mylist = [10, 2, 20, 5, 50]found = next(i for i in mylist if predicate(i))

或者,在Python 2.4 / 2.5中,

next()
它不是内置的:

found = (i for i in mylist if predicate(i)).next()

请注意,如果未找到任何元素,则会

next()
引发
StopIteration
。在大多数情况下,这可能很好。您要求输入第一个元素,不存在这样的元素,因此程序可能无法继续。

另一方面,如果您 确实 知道在这种情况下该怎么办,则可以提供默认值

next():

conf_files = ['~/.foorc', '/etc/foorc']conf_file = next((f for f in conf_files if os.path.exists(f)),      '/usr/lib/share/foo.defaults')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5647642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存