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

如何修正Python代码,将目标列表转换为指定格式的键值对字典?

问题修正方案

你的原代码错误地将每个拆分后的行都作为字典的键和值,没有区分日期和消费项的层级关系。正确的思路是逐个处理原列表中包含日期+消费的字符串块,拆分出日期和对应消费项后再构建字典。

修正后的代码

parsf2 = ['06/07/20\n 22,43€ gas\n 34,70€ street toll', '08/07/20\n 74,90€ street toll', '13/07/20\n 78€ street toll\n 157,90€ gas']
new_dict = {}

for item in parsf2:
    # 按换行拆分字符串,同时去除前后空白和空行
    lines = [line.strip() for line in item.split('\n') if line.strip()]
    # 第一个元素是日期,剩下的是消费项
    date = lines[0]
    expenses = lines[1:]
    # 存入字典
    new_dict[date] = expenses

print(new_dict)

代码说明

  • 遍历原列表中的每个完整字符串(每个字符串对应一个日期的所有消费记录)
  • 用split('\n')拆分换行,再通过列表推导式去除每行的前后空白,同时过滤掉空行
  • 拆分后的列表第一个元素是日期,剩余元素是该日期下的所有消费项
  • 将日期作为字典的键,消费项列表作为对应的值存入字典

运行结果

{'06/07/20': ['22,43€ gas', '34,70€ street toll'], '08/07/20': ['74,90€ street toll'], '13/07/20': ['78€ street toll', '157,90€ gas']}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:20:31