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

如何重排并扩展字典中的列表使其长度统一?

字典列表按标准顺序重排并补0的解决方案

你需要将字典中每个值列表按照固定标准顺序重排,缺失位置用'0'填充,最终每个列表长度统一为7。

实现代码

# 定义固定的标准顺序模板
standard_order = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

# 待处理的字典
myDict = {
    "col-1": ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
    "col-2": ['a', 'b', 'c', 'd', 'f', 'e'],
    "col-3": ['a', 'c', 'd', 'f']  # 测试用短列表
}

# 遍历字典处理每个列表
for key, items in myDict.items():
    item_set = set(items)
    # 按标准顺序生成新列表:存在的元素保留,缺失的填'0'
    myDict[key] = [item if item in item_set else '0' for item in standard_order]

print(myDict)

输出结果

{
    "col-1": ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
    "col-2": ['a', 'b', 'c', 'd', 'e', 'f', '0'],
    "col-3": ['a', '0', 'c', 'd', '0', 'f', '0']
}

逻辑说明

  • 先固定标准顺序作为结果模板,确保每个列表的元素位置统一
  • 将原列表转为集合,是为了提升元素存在性的判断效率
  • 通过列表推导式遍历标准模板,逐个匹配元素:存在则保留原元素,不存在则填充'0',最终保证所有列表长度为7且顺序符合要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 06:18:24