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

如何使用zip按值对字典列表进行打包操作?

按值对字典列表进行zip打包的实现方法

当然可以通过zip实现,你只需要先提取每个字典中的值,再对这些值序列进行zip操作即可。

解决代码

d = [{'a': 1, 'b': 2}, {'a': 3, 'b': 5}]
result = list(zip(*(x.values() for x in d)))
print(result)
>>> [(1, 3), (2, 5)]

原理说明

你之前的代码list(zip(*d))得到键的打包,是因为Python中直接迭代字典时,默认会返回字典的键。通过x.values()可以显式获取每个字典的值序列,再用生成器表达式(x.values() for x in d)遍历所有字典的值,最后用*解包后传入zip,就能按对应位置打包值了。

注意事项

  • 在Python 3.7及以上版本中,字典会保持插入顺序,所以只要所有字典的键顺序一致,就能保证值的对应关系正确。如果是更低版本的Python,建议使用collections.OrderedDict来确保顺序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 12:43:30