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

如何在Python字典中遍历获取每个键下所有元素的索引5值

问题:遍历Python字典提取指定位置的值

现有Python字典数据:

mydict = {
    'K93': [((1200, 1, 'K93', 'AMK2FJVGB', 0.0, 600.0, 300), [300, 15]), 
            ((1200, 1, 'K93', 'AMK2FJSRM', 0.0, 600.0, 300), [300, 15]), 
            ((1200, 2, 'K93', 'AMK2FJVGB', 0.0, 600.0, 300), [300, 15]), 
            ((1200, 3, 'K93', 'AMK2FJABK', 0.125, 800.0, 400), [300, 15]), 
            ((1200, 2, 'K93', 'AMK2FJJBM', 0.6666666666666666, 900.0, 600), [300, 15]), 
            ((1200, 3, 'K93', 'AMK2FJJBM', 0.6666666666666666, 900.0, 600), [300, 15]), 
            ((1200, 1, 'K93', 'AMK2FJNBK', 0.0, 800.0, 400), [300.0, 15])], 
    'K0JA': [((1200, 1, 'K0JA', 'AMK0JA  ', 0.6, 700.0, 400), [600, 30]), 
            ((1200, 3, 'K0JA', 'AMK0JA  ', 0.0, 700.0, 400), [300, 15])], 
}

需求:获取每个键对应列表中每个元素内元组的索引5位置的值,预期输出示例:

600
600
600
800
900
900
800
700
700

当前使用的代码仅能获取每个键下第一个元素的目标值:

for key,val in mydict.items():
    print(mydict[key][0][5])

请问如何修改代码实现需求?


解决方案

需要在遍历字典键值对的基础上,嵌套一层循环遍历每个键对应列表中的所有元素,再提取目标位置的值。

修改后的打印版代码

for key, val in mydict.items():
    # 遍历当前键对应的列表里的每一个元素
    for item in val:
        # item是(目标元组, 子列表)结构,取第一个元素的索引5值
        print(item[0][5])

代码说明

  • 外层循环for key, val in mydict.items():遍历字典的每个键和对应的列表值;
  • 内层循环for item in val:遍历列表中的每一个元素;
  • item[0][5]:先取出元素中的目标元组,再取该元组索引5位置的值并打印。

若需收集结果到列表(非直接打印)

可以用列表推导式简化:

result = [item[0][5] for val in mydict.values() for item in val]
print(result)

输出结果:

[600.0, 600.0, 600.0, 800.0, 900.0, 900.0, 800.0, 700.0, 700.0]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:26:15