当前位置:首页>python>Python all()实战 生产线质检不合格立刻停工

Python all()实战 生产线质检不合格立刻停工

  • 2026-09-09 05:27:18
Python all()实战 生产线质检不合格立刻停工

all() 语法介绍

语法: all(可迭代对象) 
作用:一假即假,只要整个列表找到任意一个不满足条件(返回False),后面剩下的数据就不再执行判断,直接停止。
普通for循环默认遍历完整张列表,all拥有短路,可以提前结束流程。
只有全部结果都是True的时候,才会完整遍历,最后返回True。
适用场景:整体校验,全部合格才算通过,发现一处不合格直接终止


def check(s):
    name=s[0]
    print(f"检测:正在检查【{name}】")
    if s[1]=="合格":
        print(f"【{name}】:合格")
        return True
    else:
        print(f"【{name}】:不合格")
        return False

work=[
    ["工序1","合格"],
    ["工序2","合格"],
    ["工序3","不合格"],
    ["工序4","合格"],
    ["工序5","合格"]
]

res=all(check(x) for x in work)
if res:
    print("✅ 全部工序检测通过,继续生产")
else:
    print("❌ 检测到不合格,生产线立刻停工")


运行结果
 检测:正在检查【工序1】
【工序1】:合格
检测:正在检查【工序2】
【工序2】:合格
检测:正在检查【工序3】
【工序3】:不合格
❌ 检测到不合格,生产线立刻停工


逐条讲解

1.  def check(s):  自定义检测函数,判断单道工序是否合格
2.  name=s[0]  获取工序名称,打印当前检测环节
3. if 判断工序状态,合格返回True,不合格返回False
4. work 列表保存整套生产所有工序
5.  all(check(x) for x in work) 
重点:工序3返回False,工序4、工序5不再执行检测打印。
普通for循环会跑完全部5道工序,all找到不满足条件的就直接停止。
6. if 判断结果,全部合格继续生产,发现不合格马上停工

all() 完整执行过程 & 原理总结

执行过程:

1. all依次取出每一道工序数据,传给check函数运行;
2. 工序1执行,返回True → all继续取下一条数据;
3. 工序2执行,返回True → all继续取下一条数据;
4. 工序3执行,返回False → 触发短路机制,不再读取工序4、工序5,函数不再执行;
5. all整体结果赋值为False,终止迭代。

原理总结:
all内部自带判断机制,只要收到False,立刻终止迭代,不再处理剩下元素。
只有所有元素全部返回True,all才会遍历完整列表,最终返回True。
对比普通for循环:for不会自动中途结束,必须手动写break,all原生自带短路停止功能。

汇总对比

1. any():找到True就停止,不用遍历全部列表;适合搜寻物品
2. all():找到False就停止,不用遍历全部列表;适合质检验收
3. 普通for循环:默认从头到尾跑完整个列表,不会自动中途停止
抖音号:筛过岁月,藏喜入怀

最新文章

随机文章