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

Python脚本提取字典列表type值生成指定格式列表及报错处理

问题解决:提取字典列表中type字段为指定列表格式

错误原因

你尝试直接对列表objects使用字符串索引['type'],但列表仅支持整数索引访问元素,因此触发TypeError: must be str, not list。之前的分行输出是因为你循环打印了每个字典的type值,但未将这些值收集为统一列表。

解决方法

方法1:列表推导式(简洁高效)

objects = [
    {'id': '1FoTrNUISRwlGLAQ9kLOeK', 'path': 'Test/m_TEST', 'type': 'TEMPLATE'},
    {'id': 'erc6CJiluE2jzCxND2bLM1', 'path': 'Test/M_new', 'type': 'TEMPLATE'},
    {'id': 'aqXPJtbQU8ofNxMgfxr7Wk', 'path': 'Test/MCT_Test', 'type': 'MTT'},
    {'id': '8UBPdSfpGHLbwuMbvPWPwQ', 'path': 'Test/P1', 'type': 'PROCESS'},
    {'id': '3vkmrppWY6WbZW8le0ZTWl', 'path': 'Test', 'type': 'Project'}
]

item_type = [obj['type'] for obj in objects]
print(item_type)

方法2:循环遍历收集

如果更习惯逐行逻辑,可通过循环逐个提取值并添加到列表:

objects = [
    {'id': '1FoTrNUISRwlGLAQ9kLOeK', 'path': 'Test/m_TEST', 'type': 'TEMPLATE'},
    {'id': 'erc6CJiluE2jzCxND2bLM1', 'path': 'Test/M_new', 'type': 'TEMPLATE'},
    {'id': 'aqXPJtbQU8ofNxMgfxr7Wk', 'path': 'Test/MCT_Test', 'type': 'MTT'},
    {'id': '8UBPdSfpGHLbwuMbvPWPwQ', 'path': 'Test/P1', 'type': 'PROCESS'},
    {'id': '3vkmrppWY6WbZW8le0ZTWl', 'path': 'Test', 'type': 'Project'}
]

item_type = []
for obj in objects:
    item_type.append(obj['type'])
print(item_type)

两种方法运行后都会输出目标格式:

['TEMPLATE', 'TEMPLATE', 'MTT', 'PROCESS', 'Project']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 23:35:42