栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python any()函数如何工作?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python any()函数如何工作?

如果您使用

any(lst)
它,那将
lst
是可迭代的,其中列出了一些项目。如果包含
[0, False, '', 0.0, [], {},None]
(均具有布尔值
False
),
any(lst)
则将为
False
。如果
lst
还包含以下任何
[-1, True, "X",0.00001]
(所有这些评估为
True
),那么
any(lst)
True

在您发布的代码中

x > 0 for x in lst
,这是另一种可迭代的类型,称为 生成器表达式
。在将生成器表达式添加到Python之前,您已经创建了一个 列表理解 ,它看起来非常相似,但是带有
[]
[x > 0 for x inlst]
。从
lst
包含的 清单
[-1, -2, 10, -4,20]
,您可以得到:。然后,由于有至少一个值,此内部值将传递给该函数,该函数将返回。 __
[False, False, True, False,True]``any``True``True

但是使用 生成器表达式时
,Python不再需要创建

True(s)
and的内部列表,
False(s)
因为
any
函数迭代生成器表达式一次生成的值时将生成值。 并且
,由于
any
短路,一旦看到第一个
True
值,它将立即停止迭代。如果
lst
使用类似方法创建
lst =range(-1,int(1e9))
(或者
xrange
如果使用 Python2.x
),则这将特别方便。即使此表达式将生成超过十亿个条目,
any
但到达时只需要到达第三个条目
1
,它的值就
True
x>0
,因此
any
可以返回
True


如果您创建了 列表推导 ,Python首先必须在内存中创建十亿个元素的列表,然后将其传递给

any
。但是,通过使用 生成器表达式
,您可以在看到a或value时就拥有Python的内置函数,例如like
any
all
早早爆发。
True``False



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662577.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号