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

如何将两个列表转换为指定结构的同键字典?附示例需求

实现方法

方法一:基础循环实现

初始化空字典,遍历配对的键值元素,手动处理键不存在的情况:

x = ['high', 'low', 'high']
y = ['volume', 'value', 'value']

result = {}
for key, val in zip(y, x):
    if key not in result:
        result[key] = []
    result[key].append(val)

print(result)  # 输出: {'volume': ['high'], 'value': ['low', 'high']}

方法二:用dict.setdefault()简化

利用setdefault()自动初始化空列表,减少判断逻辑:

x = ['high', 'low', 'high']
y = ['volume', 'value', 'value']

result = {}
for key, val in zip(y, x):
    result.setdefault(key, []).append(val)

print(result)

方法三:用collections.defaultdict(推荐)

借助标准库的defaultdict指定默认容器类型,代码最简洁:

from collections import defaultdict

x = ['high', 'low', 'high']
y = ['volume', 'value', 'value']

result = defaultdict(list)
for key, val in zip(y, x):
    result[key].append(val)

# 可选:转换为普通字典
result = dict(result)
print(result)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:54:25