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

不使用循环(for/while)统计列表中数字7的出现次数

无循环统计列表中数字7的出现次数

给你两种无需手动编写for/while循环的实现方式,都能得到预期的8次结果:

方法1:字符串拼接统计

把列表里的所有数字转成字符串并拼接成一个整体,直接统计字符'7'的出现次数:

A = [7, 77, 777, 717]
total = ''.join(map(str, A)).count('7')
print(total)  # 输出:8

思路:map(str, A)将每个数字转为字符串,''.join()把所有字符串拼接成"777777717",最后用count('7')直接得到总数。

方法2:使用reduce累加计数

借助functools.reduce来逐个处理列表元素,累加每个数字中7的次数:

from functools import reduce

A = [7, 77, 777, 717]
total = reduce(lambda acc, num: acc + str(num).count('7'), A, 0)
print(total)  # 输出:8

思路:reduce会遍历列表(底层迭代但无需你写循环),每次把当前数字中7的次数加到累加器acc里,初始值设为0,最终得到总和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 17:52:02