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

Python如何遍历列表嵌套字典 解决重复输出与类型报错问题

问题原因分析

第一次代码重复输出的原因

每个人员字典包含4个键(first_name/last_name/age/city),内层循环遍历字典键时,每遍历1个键就会执行一次打印逻辑,所以每个名字重复输出4次,这层内层循环完全是多余的。

第二次代码报错的原因

遍历字典items()返回的是(键名, 键值)元组,你代码里的person_info是对应键的字符串值(比如'joe'/'schmoe'这类字符串),用字典的键索引方式操作字符串自然会触发TypeError: string indices must be integers报错。

正确实现代码

只需要保留外层循环遍历人员列表,每次循环直接从拿到的单个人员字典中取出姓名拼接即可:

for person in people:
    # 用f-string拼接更简洁,也可以替换为加号拼接的写法
    full_name = f"{person['first_name']} {person['last_name']}"
    print(full_name)

运行后输出结果:

joe schmoe
angela yee
erykah badu
扩展优化建议

如果后续需要多次使用人员全名,可以提前给每个人员字典新增full_name字段,避免重复拼接逻辑:

for person in people:
    person['full_name'] = f"{person['first_name']} {person['last_name']}"

# 后续直接调用字段即可
print(person_0['full_name'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:15:03