Python面试题更新 2026-08-03

在 Python 编程中,内置函数 any() 与 all() 分别用于什么目的?它们各自的返回值有何特点?

考察说明

考查对 Python 内置函数 any() 和 all() 功能及返回值的理解。

回答思路

  1. 【回答框架 1】any() 接收一个可迭代对象作为参数,只要其中至少有一个元素的布尔值为真,就返回 True;若可迭代对象为空,则返回 False。
  2. 【回答框架 2】all() 同样接收可迭代对象,只有所有元素的布尔值都为真时才返回 True;若可迭代对象为空,则返回 True。
  3. 【回答框架 3】这两个函数通常用于简化对序列或集合中元素条件的判断,例如检查列表是否包含满足某条件的元素,或确认所有元素是否都符合某规则。
  4. 【回答框架 4】它们都接受可迭代对象,包括列表、元组、集合、字典(默认迭代键)以及生成器等。
  5. 【回答框架 5】any() 和 all() 在判断时会自动应用布尔转换,即使用元素的真值(truthiness),而非要求元素必须是布尔类型。
  6. 【关键点 1】any() 至少一个元素为真时返回 True,空可迭代对象返回 False。
  7. 【关键点 2】all() 所有元素为真时返回 True,空可迭代对象返回 True。
  8. 【关键点 3】两者都适用于任何可迭代对象,并采用元素的真值进行判断。
  9. 【易错点 1】不要混淆两者对空可迭代对象的返回值:any([]) 为 False,all([]) 为 True。
  10. 【易错点 2】若在 all() 中传入包含全为假值的可迭代对象,返回 False,而非异常。