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

如何一次性检查字符串中的数字?如何简化数字出现次数校验代码?

简化数字出现次数检查的方案

方案1:一行搞定的all()+生成器写法

直接用all()函数结合生成器表达式,替代重复的count()调用,灵活适配检查范围:

  • 仅检查数字1-8(和原代码逻辑一致):
all(s.count(str(d)) < 5 for d in range(1, 9))
  • 检查所有0-9数字:
all(s.count(str(d)) < 5 for d in range(0, 10))

方案2:高效统计的Counter写法

如果字符串较长,多次调用count()会重复遍历字符串,效率偏低。用collections.Counter只需遍历一次字符串,就能统计所有字符的出现次数,再做检查:

from collections import Counter

char_counts = Counter(s)
# 检查所有数字的出现次数都不超过4次
all(char_counts.get(str(d), 0) < 5 for d in range(0, 10))

如果只需要检查1-8,把range(0,10)改成range(1,9)即可。char_counts.get(str(d), 0)是为了处理字符串中没有对应数字的情况,此时默认计数为0,不影响判断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:02:35