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

Python字典按序提取各键对应位置元素的实现问题

问题解决:按索引分组提取字典列表元素

你的问题在于原代码的遍历逻辑不符合需求——它会先完整输出一个键对应的所有元素,再处理下一个键,而你需要的是按元素在列表中的索引位置分组,依次输出所有键对应索引的元素。

正确实现代码

dct = {'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]}

# 按索引打包所有列表元素,再逐层遍历输出
for group in zip(*dct.values()):
    for num in group:
        print(num)

代码逻辑说明

  1. dct.values() 获取字典中所有的列表,得到 [[1,2,3], [4,5,6], [7,8,9]]
  2. zip(*dct.values()) 对列表进行解包后打包,会把每个列表的对应索引元素组合成元组,最终得到 (1,4,7), (2,5,8), (3,6,9)
  3. 外层遍历每个分组元组,内层遍历元组里的每个元素并打印,即可得到你期望的输出顺序。

关于字典顺序的补充

如果你的Python版本是3.7及以上,普通字典会保留插入顺序,dct.values()的顺序就是你定义的a、b、c对应的列表顺序;如果是更早版本,需要使用collections.OrderedDict来保证键的顺序稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 12:42:39