Python处理嵌套字典与列表数据:高效提取与过滤特定信息

admin 百科 24

Python处理嵌套字典与列表数据:高效提取与过滤特定信息

本文详细介绍了如何在python中高效处理复杂的嵌套字典与列表数据结构。通过逐步解析数据层级,文章演示了如何遍历深层嵌套的元素,并应用自定义过滤条件(例如排除特定值组合的记录),最终提取出目标键(如'asset', 'free', 'locked')的对应值。教程包含完整的代码示例、详细解释及优化建议,旨在帮助读者掌握复杂数据提取与清洗的实用技巧。

正文

引言:处理Python复杂嵌套数据

在现代数据处理中,我们经常会遇到结构复杂的JSON或类JSON数据,它们通常以Python字典和列表的嵌套形式呈现。从这些深层嵌套的数据中准确地提取所需信息,并根据特定条件进行过滤,是Python编程中一项常见的任务。本教程将以一个具体的示例,详细讲解如何有效地导航这些复杂结构,实现数据的提取与过滤。

理解数据结构

首先,我们来看一个典型的嵌套数据结构示例。这是一个字典,其中包含一个列表,列表的每个元素又是一个字典,再往里又嵌套了字典和列表。

repo_data = {
    'code': 200,
    'msg': '',
    'snapshotVos': [
        {
            'data': {
                'balances': [
                    {'asset': 'ADD', 'free': '10', 'locked': '0'},
                    {'asset': 'RDP', 'free': '0', 'locked': '0'},
                    {'asset': 'SHIB', 'free': '0', 'locked': '947415'}
                ],
                'totalAsset': '152'
            },
            'type': 'spot',
            'updateTime': 1703807999000
        }
    ]
}

登录后复制

我们的目标是从'balances'列表中提取每个元素的'asset'、'free'和'locked'值,但要排除那些'free'和'locked'都为'0'的记录。

逐层访问与数据提取

要访问深层嵌套的数据,我们需要像剥洋葱一样,一层一层地深入。

立即学习“Python免费学习笔记(深入)”;

  1. 访问顶层键: 数据首先是一个字典,我们可以通过键'snapshotVos'访问其对应的值,这是一个列表。

    snapshot_vos_list = repo_data['snapshotVos']

    登录后复制

  2. 遍历列表元素: snapshot_vos_list是一个列表,我们需要遍历它来访问每个字典元素。

    for snapshot_item in snapshot_vos_list:
        # snapshot_item 现在是 {'data': {...}, 'type': 'spot', ...}
        pass

    登录后复制

  3. 访问嵌套字典: 在每个snapshot_item中,我们可以通过键'data'访问另一个字典。

    for snapshot_item in snapshot_vos_list:
        data_content = snapshot_item['data']
        # data_content 现在是 {'balances': [...], 'totalAsset': '152'}
        pass

    登录后复制

    Python处理嵌套字典与列表数据:高效提取与过滤特定信息-第2张图片-佛山资讯网

  4. 访问目标列表: 在data_content中,我们可以通过键'balances'访问我们最终的目标列表,其中包含了多个资产余额信息。

    for snapshot_item in snapshot_vos_list:
        data_content = snapshot_item['data']
        balances_list = data_content['balances']
        # balances_list 现在是 [{'asset': 'ADD', ...}, {'asset': 'RDP', ...}, ...]
        pass

    登录后复制

  5. 遍历目标列表并提取数据: 最后,我们需要遍历balances_list中的每个字典,并从中提取'asset'、'free'和'locked'的值。

    标签: python js json app python编程 red

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~

趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官
趣科技 机圈观察员 茄考网 茄录网 海印网 雷鹃网 鹃朝网 互联网观察员 评测官