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

Python遍历字典列表调用函数后,如何维持嵌套列表结构?

问题分析与解决方案

你的代码主要有两个问题导致结果是扁平列表:

  1. 冗余的嵌套循环:for x in range(len(dList)) 和 for d in dList 重复遍历字典列表,还额外加了无意义的if d == dList[x]判断,不仅浪费性能,还容易导致重复处理。
  2. 未按字典分组存储结果:所有函数返回值都直接追加到同一个列表,没有为每个字典创建独立的子列表,自然无法形成嵌套结构。

修改后的代码(普通循环版)

finalList = []
# 假设dList是已初始化的字典列表,setupTime是已定义的函数
for d in dList:
    # 为每个字典创建子列表,存储当前字典所有键值对的计算结果
    sub_list = []
    for k, v in d.items():
        sub_list.append(setupTime(k, v))
    # 将子列表加入最终嵌套列表
    finalList.append(sub_list)

更简洁的列表推导式版本

如果追求代码简洁,可以用嵌套列表推导式一行实现:

finalList = [[setupTime(k, v) for k, v in d.items()] for d in dList]

处理后,finalList的结构会和dList完全对应:每个子列表对应原dList中的一个字典,子列表元素是该字典所有键值对传入setupTime后的返回值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:50:35