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

Python如何删除键符合A+两位数字格式的字典元素

Python删除符合正则规则的字典键实现方案

推荐两种可行写法,可避免遍历字典时修改结构导致的报错:

方法1:字典推导式生成新字典(更安全,推荐)

不需要修改原字典的场景用这个,代码最简洁:

import re

# 待处理字典,示例中无引号的A12为笔误,此处统一为字符串键
d = {'A34': 83, 'B32': 70, 'A44': 66, 'A12': 47, 'B90': 71}

# 仅保留不符合Axx格式的键,生成新字典
new_d = {k: v for k, v in d.items() if not re.match(r'^A\d{2}$', str(k))}

说明:加str(k)是兼容非字符串类型的键,正则前加r标记为原始字符串,不需要重复转义反斜杠

方法2:直接修改原字典

如果需要在原有字典上修改,先收集待删除的键再批量删除:

import re

d = {'A34': 83, 'B32': 70, 'A44': 66, 'A12': 47, 'B90': 71}

# 先把所有符合删除规则的键存到独立列表中
to_delete = [k for k in d if re.match(r'^A\d{2}$', str(k))]

# 遍历列表删除对应键,不会触发字典遍历修改报错
for k in to_delete:
    del d[k]

注意事项

不要直接在遍历字典的循环中删除键,字典大小变更会触发RuntimeError: dictionary changed size during iteration异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:06:04