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

Python中如何遍历包含命名列表的字典?

问题原因

直接遍历Python字典时(如for Type in Objects),默认只会遍历字典的键(即"Enemies"、"Walls"这类字符串)。内层循环for Object in Type会将字符串视为可迭代对象,逐个打印字符,这就是问题所在。

解决方法

以下是几种正确的遍历方式:

方式1:通过键获取对应列表遍历

先遍历字典的键,再用键取出对应的列表进行遍历:

Objects = {
    "Enemies": ["Enemy1", "Enemy2", "Enemy3"],
    "Walls": ["Wall1", "Wall2", "Wall3"]
}

for type_key in Objects:
    obj_list = Objects[type_key]
    for obj in obj_list:
        print(obj)

方式2:直接遍历字典的列表值

使用Objects.values()直接获取所有列表值,跳过键的处理:

Objects = {
    "Enemies": ["Enemy1", "Enemy2", "Enemy3"],
    "Walls": ["Wall1", "Wall2", "Wall3"]
}

for obj_list in Objects.values():
    for obj in obj_list:
        print(obj)

方式3:同时获取类型名称与对应列表

如果需要同时输出类型名称和内部元素,用Objects.items()获取键值对:

Objects = {
    "Enemies": ["Enemy1", "Enemy2", "Enemy3"],
    "Walls": ["Wall1", "Wall2", "Wall3"]
}

for type_key, obj_list in Objects.items():
    print(f"当前类型: {type_key}")
    for obj in obj_list:
        print(f"  - {obj}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:10:27