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

Python如何从列表中选取键值对元素并按键获取对应值

解决方案

原生Python列表仅支持整数位置索引,直接执行l['person']会抛出TypeError: list indices must be integers or slices, not str错误。你当前列表中存储的是字符串格式的键值片段,需要先转换为字典结构,才能实现按键名取值的效果。

实现代码

# 原始输入列表
l = ["'person': 'Male'", "'name': 'James Smith'", "'dob': 'Jul 20 1955'", "'car': 'Ford'"]

# 转换为字典结构,直接覆盖原变量
l = {
    item.split(":", 1)[0].strip().strip("'"):
    item.split(":", 1)[1].strip().strip("'")
    for item in l
}

# 执行预期调用
print(l['person'])

运行后控制台输出:

Male

实现逻辑

  • 遍历原始列表的每一个字符串元素
  • 调用split(":", 1)按第一个冒号拆分键和值,传入maxsplit参数1是为了避免值内容本身包含冒号时拆分异常
  • 对拆分出的键、值分别去除首尾空白字符,以及外层包裹的单引号
  • 组装为标准字典后,即可支持传入字符串键名直接取值

如果后续需要处理的键值对格式更复杂(比如值内含转义字符、嵌套结构),可以将每个字符串补全为合法JSON格式后用json.loads()方法解析,适配性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:36:39