Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0198
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在:
- 个人网站: `https://oeasy.org`
- 蓝桥云课: `https://www.lanqiao.cn/courses/3584`
- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
- Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 这次我们研究了any函数
- 任何一次迭代出True
- 就返回True
- 都迭代完了 也没有返回
- 就返回False
- 任何一次迭代出True
- any本质上是 一堆条件的或运算
- 那有没有与运算 对应的函数呢?🤔
all
help(all)
- 查看帮助手册
- 迭代中 得到True
- 返回True
- 迭代完了 没有返回
- 返回False
l = [123,0.45,6j,"abc",b"\x80",[0],(0),{0,1}]
list(item for item in l)
list(bool(item) for item in l)
all(l)
- 其中有一个False
- 结果就是False
- 去掉了那个False
l = [123,0.45,6j,"abc",b"\x80",[0],{0,1},0]
all(l)
- 结果就是True
# 判断列表中的所有元素是否都大于 0
numbers = [1, 2, 3, 4, 5]
result = all(num > 0 for num in numbers)
print(result) # True
numbers = [1, 2, 0, 4, 5]
result = all(num > 0 for num in numbers)
print(result) # False
- 都大于0
- 才True
- all 大于0
- 才True
# 判断字符串中的所有字符是否都是字母
string = 'abcdef'
result = all(char.isalpha() for char in string)
print(result) # True
string = 'abc1def'
result = all(char.isalpha() for char in string)
print(result) # False
- 全是字母才行
- 可以把all改成any吗?
condition = all([True,True,False])
condition
condition = True and True and False
condition
- all本质是各种条件的逻辑与
- 可以把all改成any吗?
# all
string = 'abcdef'
result = all(char.isalpha() for char in string)
print(result) # True
# any
string = 'abcdef'
result = not any(not char.isalpha() for char in string)
print(result) # True
- 效果
- 理论来自
- 摩根定律
- 可以把any改成all吗?
enemies = [
{"id": 1, "hp":0},
{"id": 2, "hp":0},
{"id": 3, "hp":0}
]
any(enemy["hp"] > 0 for enemy in enemies)
not all(enemy["hp"] <= 0 for enemy in enemies)
- 修改结果
- 否定之否定
- 不太合理
- 一般都是 见到 双重否定
- 改成肯定
- 双重否定
- 改成了肯定
- 这次研究了all函数
- 迭代对象中
- 所有 都为True 才能得True
- 有个False 就为False
- 迭代对象中
- 全真为真 有假为假
- all 本质上是 一堆条件的 与运算
- 我们总结一下吧?!🤔
- 下次再说 👋
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。












