You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中不使用for循环统计元组同类型元素数量问题

问题分析

你遇到的两个核心问题:

  • 现有代码用了生成器表达式里的for循环,违反了作业“不使用for循环”的要求
  • 测试用例(1, 'a', True)预期结果为0,说明需要严格匹配类型——bool和int属于不同类型,不能把True判定为与1类型相同
解决方案代码
# 获取第一个元素的严格类型
first_type = type(tpl[0])

# 用map+sum实现无for循环统计:map将每个元素转为类型匹配的布尔值,sum统计True的数量
count = sum(map(lambda elem: type(elem) is first_type, tpl))

# 输出结果
print(count)
代码说明
  • map(lambda elem: type(elem) is first_type, tpl):遍历元组每个元素,返回True(类型严格匹配)或False(不匹配),返回的是一个迭代器
  • sum(...):直接对迭代器中的布尔值求和,因为True等价于1,False等价于0,求和结果就是符合条件的元素数量
  • 全程未使用for循环,符合作业要求;同时用is做严格类型判断,确保bool不会被误判为int,满足测试用例预期

内容的提问来源于stack exchange,提问作者Boiledbiscuit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:40:55