Taonny 2022-12-29 09:13 采纳率: 75%
浏览 26
已结题

python字典以层级关系输出

怎么控制python输出的字典按照层级关系显示?
比如我的字典为 demo_dir = {'a0': 1, 'b0': 2, 'c0': 3, 'd0': {'a1': [1, 2, 3], 'b1': {'a2': {'a3': 10, 'b3': [1, 2, 3]}}, 'c1': {'a2': 1}}}
我想输出为以下层级格式,这样看起来就比较清晰明了:

{
    "a0": 1,
    "b0": 2,
    "c0": 3,
    "d0": {
        "a1": [
            1, 2, 3
        ],
        "b1": {
            "a2": {
                "a3": 10,
                "b3": [
                    1, 2, 3
                ]
            }
        },
        "c1": {
            "a2": 1
        }
    }
}

  • 写回答

3条回答 默认 最新

  • 专注算法的马里奥学长 人工智能领域新星创作者 2022-12-29 09:26
    关注

    可以用 Python 的 json 模块来输出字典。这个模块可以将 Python 对象(如字典)转换成 JSON 格式的字符串,并且可以通过设置参数来控制输出格式。

    import json
    
    # 定义字典
    my_dict = {'a0': 1, 'b0': 2, 'c0': 3, 'd0': {'a1': [1, 2, 3], 'b1': {'a2': {'a3': 10, 'b3': [1, 2, 3]}}, 'c1': {'a2': 1}}}
    
    # 使用 json.dumps 函数将字典转换成 JSON 字符串
    json_str = json.dumps(my_dict, indent=4)
    
    # 输出 JSON 字符串
    print(json_str)
    

    使用了 indent 参数可以控制输出的字典的层级关系。你还可以使用 sort_keys 参数来控制字典的键是否按照字母顺序排序。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 创建了问题 12月29日