如何在Python中统计符合AXX格式的字典键数量
统计符合AXX格式的字典键数量
没问题,我帮你搞定这个统计需求!针对你说的以'A'开头、后面跟两位数字的键,这里有几种简单有效的方法:
方法1:手动格式判断(无需额外模块)
这种方法直接检查键的长度、首字符和后续字符类型,适合格式固定的场景:
my_dict = {'A34': 83, 'B32': 70, 'A44': 66, 'A12': 47, 'B90': 71} # 循环计数方式 count = 0 for key in my_dict: # 检查长度为3、首字符是'A'、后两位是数字 if len(key) == 3 and key[0] == 'A' and key[1:].isdigit(): count += 1 print(count) # 输出:3 # 更简洁的生成器表达式方式 count = sum(1 for key in my_dict if len(key) == 3 and key[0] == 'A' and key[1:].isdigit()) print(count) # 输出:3
方法2:正则表达式(灵活适配复杂格式)
如果以后键的格式可能调整,正则表达式会更灵活。我们用^A\d{2}$作为匹配模式:^表示字符串开头,A匹配首字符,\d{2}匹配两位数字,$表示字符串结尾。
import re my_dict = {'A34': 83, 'B32': 70, 'A44': 66, 'A12': 47, 'B90': 71} # 预编译正则模式,提升效率 pattern = re.compile(r'^A\d{2}$') count = sum(1 for key in my_dict if pattern.match(key)) print(count) # 输出:3
两种方法都能得到你想要的结果,手动判断适合简单固定的规则,正则则更适合复杂或可能变化的格式场景。
内容的提问来源于stack exchange,提问作者kitchen800
相关产品推荐
相关产品推荐

