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

使用推导式创建字典列表时条目合并为单个字典如何解决

问题解决方法

错误原因

原有代码的推导式逻辑为:在单个字典内部遍历所有步长为2的索引,生成所有键值对后,再将这单个字典放入列表中,因此最终列表仅包含1个合并了所有键值对的字典,若存在重复键还会出现值覆盖的问题。

修复代码

固定双键值对场景

如果每个独立字典固定包含2个键值对(对应原始列表每4个元素为一个分组),可直接使用如下推导式:

clothes_dict = [
    {clothes_list[i]: clothes_list[i+1], clothes_list[i+2]: clothes_list[i+3]}
    for i in range(0, len(clothes_list), 4)
]

通用场景

如果需要支持每个字典包含任意数量的键值对,可先拆分原始列表为键值对元组,再按需求分组生成字典:

# 拆分原始列表为(键, 值)元组列表
pairs = list(zip(clothes_list[::2], clothes_list[1::2]))
# 按每个字典2个键值对的规则分组生成结果列表,可按需调整步长
clothes_dict = [dict(pairs[i:i+2]) for i in range(0, len(pairs), 2)]

运行上述代码后即可得到目标格式的输出,列表中每个元素为独立的双键值对字典。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:45:09