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

Python字典列表转换:分割字段值并提取首个元素

处理Python字典列表:筛选指定字段并格式化name值

直接可用的解决方案

通用型实现(适配任意required_fields)

myList = [
  {'name': 'CN=John,Li', 
   'type': 'Agent', 
   'isMember': False},
  {'name': 'CN=Moses,Somewhere', 
   'type': 'Worker', 
   'isMember': True},
  {'name': 'CN=David, Something', 
   'type': 'Agent', 
   'isMember': False}
]

required_fields = ['name', 'isMember']

result = []
for item in myList:
    new_item = {}
    for field in required_fields:
        if field == 'name':
            # 分割处理name值:先去掉CN=前缀,再取逗号前的部分,清理空格
            cleaned_name = item[field].split('=')[1].split(',')[0].strip()
            new_item[field] = cleaned_name
        else:
            new_item[field] = item[field]
    result.append(new_item)

# 输出结果
print(result)

简洁版实现(针对固定字段)

如果required_fields固定为name和isMember,可以用列表推导式简化代码:

result = [
    {
        'name': item['name'].split('=')[1].split(',')[0].strip(),
        'isMember': item['isMember']
    }
    for item in myList
]

逻辑说明

  1. 遍历原列表:逐个处理每个字典元素
  2. name字段格式化:
    • 用split('=')分割字符串,取索引1的部分(去掉CN=前缀)
    • 再用split(',')分割,取索引0的部分(拿到逗号前的名字)
    • 最后用strip()清理可能存在的空格(比如第三个元素里的David, Something中的空格)
  3. 筛选字段:只保留required_fields指定的字段,组装成新字典
  4. 收集结果:将所有处理后的字典存入新列表

运行后得到的结果和你期望的完全一致:

[
  {'name': 'John', 'isMember': False},
  {'name': 'Moses', 'isMember': True},
  {'name': 'David', 'isMember': False}
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:54:31