You need to enable JavaScript to run this app. Python如何统计三层嵌套列表指定值出现次数并批量替换,避免两层循环
优惠活动
大模型
产品
解决方案
定价
更多

Python如何统计三层嵌套列表指定值出现次数并批量替换,避免两层循环

解决方案

1. 统计数值99的总出现次数

两种无显式嵌套循环的实现方案:

方案1:字符串统计法(最简洁)

直接将嵌套列表整体转为字符串后统计匹配项,零循环代码:

count = str(DESK_POLE).count("99")
# 运行结果count = 4,和实际数据匹配

注意:该方案仅适配当前场景,即所有元素均为独立整数、不存在199这类会拆解出99子串的数值,通用性稍弱但代码量最小。

方案2:生成器表达式统计(通用场景)

用生成器隐式迭代遍历所有元素,无显式循环代码块:

count = sum(1 for level1 in DESK_POLE for level2 in level1 for val in level2 if val == 99)
# 运行结果同样为4,适配任意整数元素的嵌套列表

2. 将所有99替换为88

同样提供两种无显式嵌套循环的方案:

方案1:字符串替换+安全解析(零循环代码)

替换字符串后用ast.literal_eval安全转回列表结构,比直接用eval更安全无执行风险:

import ast
DESK_POLE = ast.literal_eval(str(DESK_POLE).replace("99", "88"))

方案2:三层列表推导式(无额外依赖)

通过列表推导式隐式迭代完成替换,无需导入额外库:

DESK_POLE = [[[88 if val == 99 else val for val in level2] for level2 in level1] for level1 in DESK_POLE]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 13:09:02