楼主: 时光人
1022 1

Python内置序列函数之all、any函数 [推广有奖]

  • 3关注
  • 34粉丝

已卖:165份资源

院士

23%

还不是VIP/贵宾

-

威望
1
论坛币
26913 个
通用积分
429.8724
学术水平
95 点
热心指数
109 点
信用等级
91 点
经验
39970 点
帖子
1630
精华
3
在线时间
580 小时
注册时间
2019-2-25
最后登录
2025-5-6

楼主
时光人 学生认证  发表于 2019-12-2 10:39:53 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

AIU人工智能学院:数据科学、人工智能从业者的在线大学。

数据科学(Python/R/Julia)数据分析、机器学习、深度学习

Python内置序列函数系列所有文章都以几个术语为基础:可迭代对象(iterable)、迭代器(iterator)、序列(sequence)、生成器(generator)等。若对此不太理解,可移步Python随笔4前面部分查看。

今天讨论一组有意思的函数:all与any函数。

1.all函数

all函数的具体语法是:

all(iterable)——参数iterable(可迭代对象)的所有元素之中,没有1个是False,则返回True;若有至少1个是False,则返回False。

这是什么意思呢?两层意思:第一,当可迭代对象中所有元素都为True的话,all(iterable)函数返回True;第二,若可迭代对象本身是空的,比如一个空的list,也就是没有任何元素的时候,依然返回True,因为没有任何元素,依然表示所有元素中没有1个是False。

all(iterable)函数等价于:

def all(iterable):

for element in iterable:

if not element:

return False

return True

2.any函数any函数的具体语法是:

any(iterable)——参数iterable(可迭代对象)的所有元素之中,只要有1个是True,则返回True;否则返回False。

这个跟上面all函数是一样的道理,依然两层意思:第一,当可迭代对象中所有元素里至少有1个是True的话,any(iterable)函数返回True;第二,若可迭代对象本身是空的,比如一个空的list,也就是没有任何元素的时候,那么返回False,因为没有任何元素,就表示所有元素中没有1个是True。

any(iterable)函数等价于:

def any(iterable):

for element in iterable:

if element:

return True

return False

这两个函数的例子如下:

l1 = ['a', 3, (2, 3), {'a': 1}] # 里面所有元素全为真值。

l2 = [1, 2, 0, 'a'] # 里面元素有真值,也有假值。

l3 = [0, {}, set, {}] # 里面所有元素全为假值。

all(l1)

Out[30]: True

all(l2)

Out[31]: False

all(l3)

Out[32]: False

any(l1)

Out[33]: True

any(l2)

Out[34]: True

any(l3)

Out[35]: False

l4 = [] # l4是一个空的列表(可迭代对象)。

all(l4)

Out[37]: True

any(l4)

Out[38]: False

3.小结all函数和any函数实际上是基本逻辑“与”、“或”在可迭代对象(如序列)层面上的体现与应用。注意并理解当可迭代对象本身是空(比如列表为空)时的特殊情况。


关注“AIU人工智能”公众号,回复“白皮书”获取数据分析、大数据、人工智能行业白皮书及更多精选学习资料!


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


沙发
三江鸿 发表于 2022-10-29 23:12:16 来自手机
点个赞加点人气
感谢分享

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-31 16:35