转自:https://www.cnblogs.com/nulige/p/6128816.html

any()与all()函数的区别:

  any是任意,而all是全部。

版本:该函数适用于2.5以上版本,兼容python3.x版本。

any(...)

any(iterable) -> bool

Return True if bool(x) is True for any x in the iterable.

If the iterable is empty, return False.

any(iterable)说明:参数iterable:可迭代对象;

如果当iterable所有的值都是0、''或False时,那么结果为False,如果所有元素中有一个值非0、''或False,那么结果就为True

函数等价于:

def any(iterable):
for element in iterable:
if element:
return False
return True
>>> any(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> any(['a', 'b', '', 'd']) #列表list,存在一个为空的元素
True
>>> any([0, '', False]) #列表list,元素全为0,'',false
False >>> any(('a', 'b', 'c', 'd')) #元组tuple,元素都不为空或0
True
>>> any(('a', 'b', '', 'd')) #元组tuple,存在一个为空的元素
True
>>> any((0, '', False)) #元组tuple,元素全为0,'',false
False >>> any([]) # 空列表
False
>>> any(()) # 空元组
False

all(...)

all(iterable) -> bool

Return True if bool(x) is True for all values x in the iterable.

If the iterable is empty, return True.

如果iterable的所有元素不为0、''、False或者iterable为空,all(iterable)返回True,否则返回False;函数等价于:

def all(iterable):
for element in iterable:
if not element:
return False
return True
>>> all(['a', 'b', 'c', 'd'])  #列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd']) #列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3]) #列表list,存在一个为0的元素
False >>> all(('a', 'b', 'c', 'd')) #元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd')) #元组tuple,存在一个为空的元素
False
>>> all((0, 1,2, 3)) #元组tuple,存在一个为0的元素
False >>> all([]) # 空列表
True
>>> all(()) # 空元组
True

注意:空元组、空列表返回值为True,这里要特别注意。

最新文章

  1. C#的winform编程入门简单介绍
  2. Html/Css(新手入门第二篇)
  3. [Ubuntu] Ubuntu13.04, the desktop freezed after login
  4. 胸腺嘧啶“T”
  5. java之sleep、wait、yield、join、notify乱解
  6. (转)java之多线程
  7. memcache的安装及管理
  8. Android 开源库
  9. Python-方法重载的问题
  10. Nagios部署与配置
  11. dig命令
  12. H5 标签选择器
  13. bzoj3702/bzoj2212 二叉树 (线段树合并)
  14. 常见的web攻击方式
  15. Java知多少(84)图形界面之布局设计
  16. SQL Server 2012 无人值守安装(加入新实例)
  17. shell 全局剔除标点符号
  18. 几个经典的css技巧
  19. mysql索引建多了有什么坏处
  20. 深入理解多线程(一)——Synchronized的实现原理

热门文章

  1. MyBatis--把SQL带进Java
  2. 网上搜到的特别厉害的visio2019激活方法
  3. Red Hat Enterprise Linux 6安装好,开启网卡到搭建tftp服务器和安装dnw驱动,安装samba服务器
  4. spring中对JDO的配置
  5. Linux下的启动oracle服务 启动监听 开放端口操作
  6. 前端面试题-clearfix(清除浮动)
  7. SQL SERVER 2008 设置字段默认值为当前时间
  8. Entity Framework Core 迁移命令
  9. 批量查询 xml的方式 还一种是表变量
  10. sql 导入文件