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

如何用Python以「按行方式」将字典转换为元组列表?

更Pythonic的实现方式

直接用Python内置的zip()函数就能一行搞定,代码简洁且符合Python风格:

data = {
    'a': [1,2,3,4],
    'b': [1,2,3,5],
    'c': [1,2,3,6]
}

tuple_list = list(zip(*data.values()))

原理说明

  • data.values() 获取字典中所有的列表值,Python 3.7及以上版本的字典会保留插入顺序,所以这里得到的是 [1,2,3,4]、[1,2,3,5]、[1,2,3,6] 这三个列表。
  • * 是解包运算符,它会把这三个列表作为独立参数传给 zip() 函数。
  • zip() 函数会按位置依次从每个输入列表中取出元素,将它们打包成元组——第一个元组取每个列表的第0个元素,第二个取第1个,以此类推。
  • 最后用 list() 把 zip() 返回的迭代器转换成列表,就得到了预期结果。

如果需要严格保证键的顺序(比如Python 3.6及更早版本的字典不保证顺序),可以显式指定键的顺序来解包:

tuple_list = list(zip(data['a'], data['b'], data['c']))

这种写法比嵌套循环简洁得多,也更贴合Python推崇的"简洁优雅"编码风格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 07:22:08