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

如何遍历Python字典列表,无需person['key']形式输出指定格式内容?

解决动态遍历字典键生成指定格式输出的问题

嘿,这个需求很好实现!你不想逐个硬编码person['id']、person['name']这类键名,那我们可以利用字典的键集合动态获取对应的值,完全不用写死每个键。

首先观察你的数据结构:所有字典的键都是id、name、age且顺序一致,那我们可以先从第一个字典里提取出键的顺序,再遍历每个人的字典,按这个键顺序取出值并拼接成你要的格式。

直接上代码:

people = [
    {'id': 1, 'name': 'Ada', 'age': 55},
    {'id': 2, 'name': 'Bart', 'age': 46},
    {'id': 3, 'name': 'Chloe', 'age': 37},
    {'id': 4, 'name': 'Dylan', 'age': 28}
]

# 从第一个字典获取键的顺序(Python 3.7+字典默认保持插入顺序)
field_order = people[0].keys()

# 遍历每个person,按键顺序拼接值并输出
for person in people:
    print(', '.join(str(person[key]) for key in field_order))

运行这段代码,就能得到你想要的输出:

1, Ada, 55
2, Bart, 46
3, Chloe, 37
4, Dylan, 28

小补充:

  • 这里用people[0].keys()获取键的顺序,前提是所有字典的键结构和顺序完全一致,这在你的数据里是成立的。如果后续有字典键顺序变化的情况,你也可以手动指定键列表(比如field_order = ['id', 'name', 'age']),但这就回到了“逐个指定键”的方式,显然当前数据统一的情况下,动态获取更符合你的需求。
  • 用str()转换值是因为id和age是整数,需要转成字符串才能用join方法拼接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:13:48