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

列表与字典多层嵌套取值


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日

悬赏问题

  • ¥50 资源管理器无法使用且一直崩溃重启
  • ¥15 用sql语句完成下列问题
  • ¥50 yalmip+Gurobi 求解线性规划
  • ¥15 微信开发者工具/云函数/数据库
  • ¥15 如何导出数据库中的表格
  • ¥15 Torch not compiled with CUDA enabled
  • ¥15 三种节点编号优化算法比较
  • ¥15 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥115 用Java解决探地雷达dzt文件的解析过程
  • ¥20 有关神经网络这道(b)determine the parameters of neural network