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

如何将多个列表合并转换为字典?

多列表配对生成字典解决方案

Python 内置的zip()函数本身支持传入任意数量的可迭代对象,并非仅支持两组配对,每次迭代会返回所有输入可迭代对象对应位置的元素组成的元组,刚好适配你的需求。

基础实现(列表长度一致时使用)

假设你现有4个列表如下:

  • 键列表:key_list = ["你好", "谢谢", "再见"](存储通用索引词/原生词)
  • 取值列表1:en_list = ["hello", "thank you", "goodbye"](英文译文)
  • 取值列表2:ja_list = ["こんにちは", "ありがとう", "さようなら"](日文译文)
  • 取值列表3:ko_list = ["안녕하세요", "감사합니다", "안녕히 가세요"](韩文译文)

直接通过字典推导式+多参数zip即可生成字典:

# 取值为多语言元组的版本
trans_dict = {
    key: (en_val, ja_val, ko_val) 
    for key, en_val, ja_val, ko_val in zip(key_list, en_list, ja_list, ko_list)
}

# 取值为带语言标识字典的版本(后续查询更易用)
trans_dict = {
    key: {
        "english": en_val,
        "japanese": ja_val,
        "korean": ko_val
    } 
    for key, en_val, ja_val, ko_val in zip(key_list, en_list, ja_list, ko_list)
}

兼容列表长度不一致的实现

如果不同列表的元素数量可能存在偏差,可使用itertools.zip_longest设置缺省值避免数据丢失:

from itertools import zip_longest

trans_dict = {
    key: (en_val, ja_val, ko_val) 
    for key, en_val, ja_val, ko_val in zip_longest(
        key_list, en_list, ja_list, ko_list, 
        fillvalue=""  # 缺失值默认填充为空字符串,可自定义
    )
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:45:07