Bumblebee . 2021-09-12 14:59 采纳率: 50%
浏览 119
已结题

列表与字典多层嵌套取值


dict = [{'school_attr': {'2019': {'1': [{'batch': '本科二批', 'score': 401, 'zslx': '普通类', 'lqpc': '本科二批', 'type_name': '理科', 'school_id': '2421'}], '2': [{'batch': '本科二批', 'score': 477, 'zslx': '普通类', 'lqpc': '本科二批', 'type_name': '文科', 'school_id': '2421'}]}, '2020': {'2': [{'batch': '本科批', 'score': 480, 'zslx': '普通类', 'lqpc': '本科批', 'type_name': '文科', 'school_id': '2421'}], '1': [{'batch': '本科批', 'score': 422, 'zslx': '普通类', 'lqpc': '本科批', 'type_name': '理科', 'school_id': '2421'}]}}

我想要获取的结果是:
2019:1;本科二批;401;普通类;本科二批;理科;2421
2;本科二批;477;普通类;本科二批;文科;2421
2020的结果同上

意思就是要打印出每一条数据中的每个元素
先感谢各位的回答呀!

  • 写回答

1条回答 默认 最新

  • Feng-licong 2021-09-12 16:20
    关注
    dict = [{'school_attr': {'2019': {'1': 
        [{'batch': '本科二批', 'score': 401, 'zslx': '普通类', 'lqpc': '本科二批', 
          'type_name': '理科', 'school_id': '2421'}], 
        '2': [{'batch': '本科二批', 'score': 477, 'zslx': '普通类', 'lqpc': '本科二批', 
               'type_name': '文科', 'school_id': '2421'}]}, 
        '2020': {'2': [{'batch': '本科批', 'score': 480, 'zslx': '普通类', 'lqpc': '本科批', 
                        'type_name': '文科', 'school_id': '2421'}], 
        '1': [{'batch': '本科批', 'score': 422, 'zslx': '普通类', 'lqpc': '本科批', 'type_name': '理科', 
               'school_id': '2421'}]}}}]
    
    
    dict_k = list(dict[0]['school_attr'].keys())
    dict_v = list(dict[0]['school_attr'].values())
    
    for i in range(len(dict_k)):
        dict_v_k = list(dict_v[i].keys())    
        dict_v_v = list(dict_v[i].values())
        print(dict_k[i]+ ":",end='')
        for j in range(len(dict_v_k)):
            print(str(dict_v_k[j]) + ";" + ";".join(map(str,list(dict_v_v[j][0].values()))))
        print()
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 9月12日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵