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

如何用Python循环将两个列表合并为字典数组?

将两个列表合并为指定格式的字典数组

原始数据

日期列表:

dates = ['2023-07-18', '2023-07-19', '2023-07-20', '2023-07-21', '2023-07-22', '2023-07-23', '2023-07-24']

费用数值列表:

fees = [36263, 31926, 30988, 31304, 27971, 27376, 7479]

预期输出

需要生成一个由字典组成的数组,每个字典包含固定键Date和Fees:

{'Date': '2023-07-18', 'Fees': 36263}
{'Date': '2023-07-19', 'Fees': 31926}
{'Date': '2023-07-20', 'Fees': 30988}
{'Date': '2023-07-21', 'Fees': 31304}
{'Date': '2023-07-22', 'Fees': 27971}
{'Date': '2023-07-23', 'Fees': 27376}
{'Date': '2023-07-24', 'Fees': 7479}

问题分析

你之前得到的是一个以日期为键、费用为值的单个大字典,原因是代码逻辑错误——把所有键值对都塞进了同一个字典,而非创建多个独立字典并放入列表。

解决方法

方法1:基于索引的for循环

通过遍历列表索引,逐个创建字典并添加到结果列表:

dates = ['2023-07-18', '2023-07-19', '2023-07-20', '2023-07-21', '2023-07-22', '2023-07-23', '2023-07-24']
fees = [36263, 31926, 30988, 31304, 27971, 27376, 7479]

result = []
for i in range(len(dates)):
    result.append({'Date': dates[i], 'Fees': fees[i]})

# 打印输出
for item in result:
    print(item)

方法2:使用zip函数(更简洁)

zip函数可以直接配对两个列表的对应元素,结合列表推导式快速生成结果:

dates = ['2023-07-18', '2023-07-19', '2023-07-20', '2023-07-21', '2023-07-22', '2023-07-23', '2023-07-24']
fees = [36263, 31926, 30988, 31304, 27971, 27376, 7479]

result = [{'Date': d, 'Fees': f} for d, f in zip(dates, fees)]

# 打印输出
for item in result:
    print(item)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 06:53:17