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

如何从Python嵌套字典的ORG键对应值中移除特殊字符

实现方案

你现在的字典是两层嵌套结构,外层键是文件名,值是内层属性字典,仅需要处理内层字典中ORG键对应的字符串列表,所以可以通过逐层遍历+字符串清理实现,以下是可直接运行的示例:


1. 依赖导入与清理规则定义

首先用正则实现特殊字符清理逻辑,你可以按需调整正则匹配规则来决定保留哪些字符:

import re

# 原字典
data = {
    'file1.txt': {'address': [],  'ORG': []},
    'file2.txt': {'address': [],  'ORG': ['DEF Pvt. Ltd','One Solutions (Asia) Limited' ]}
}

# 特殊字符清理函数:默认保留大小写字母、数字、空格、英文句号,其余字符全部移除
def clean_org_str(s):
    return re.sub(r'[^a-zA-Z0-9\s.]', '', s)

2. 两种实现方式可选

  • 原地修改原字典

直接遍历修改原字典的内容,适合不需要保留原始数据的场景:

for inner_dict in data.values():
    inner_dict['ORG'] = [clean_org_str(item) for item in inner_dict['ORG']]
  • 生成新字典(不改动原始数据)

用嵌套字典推导式生成全新的字典,和你熟悉的单层字典推导式逻辑一致,仅增加了内层属性的处理:

new_data = {
    file_name: {**inner_dict, 'ORG': [clean_org_str(item) for item in inner_dict['ORG']]}
    for file_name, inner_dict in data.items()
}

处理结果示例

以上代码运行后,file2.txt对应的ORG列表会被清理为:

['DEF Pvt. Ltd', 'One Solutions Asia Limited']

如果需要调整保留的字符,仅需要修改clean_org_str函数中正则的匹配范围即可,比如需要额外保留横线,就把正则规则改为r'[^a-zA-Z0-9\s.-]'。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 20:54:05