Python 遍历结构复杂的多层嵌套字典,收集特定键值对

这篇具有很好参考价值的文章主要介绍了Python 遍历结构复杂的多层嵌套字典,收集特定键值对。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

可以使用递归函数来遍历整个嵌套层次不同的字典,收集所有感兴趣的键值对,最终得到一个非嵌套结构的字典:

(一般用于处理爬取的json数据,因为有些结构真的蛮怪的(メ3[____]文章来源地址https://www.toymoban.com/news/detail-826414.html

def extract_key_value_pairs(nested_dict, keys_to_extract):  
    """  
    从嵌套字典中提取特定的键值对,并返回一个非嵌套结构的字典 
  
    nested_dict: 嵌套字典  
    keys_to_extract: 要提取的键的列表(支持嵌套键,如 'outer_key.inner_key')
  
    return: 一个非嵌套结构的字典,包含所有提取的键值对  
    """  
    flat_dict = {}  
  
    def extract_from_dict(d, prefix=''):  
        for key, value in d.items():  
            full_key = prefix + key if prefix else key  
            if full_key in keys_to_extract:  
                flat_dict[full_key] = value  
            if isinstance(value, dict):  
                extract_from_dict(value, full_key + '.')  
  
    extract_from_dict(nested_dict)  
    return flat_dict  
  
# 示例嵌套字典  
nested_dict = {  
    'a': 1,  
    'b': {  
        'c': 2,  
        'd': {  
            'e': 3  
        }  
    },  
    'f': 4,  
    'g': {  
        'h': 5  
    }  
}  
  
# 要提取的键  
keys_to_extract = ['a', 'b.c', 'b.d.e', 'g.h']  
  
# 提取键值对  
result_dict = extract_key_value_pairs(nested_dict, keys_to_extract)  
  
print(result_dict)

'''输出:
{'a': 1, 'b.c': 2, 'b.d.e': 3, 'g.h': 5}'''

到了这里,关于Python 遍历结构复杂的多层嵌套字典,收集特定键值对的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】实战:生成多层嵌套笛卡尔积组合问卷 csv《感知觉与沟通评估表》

    目录 一、适用场景 二、业务需求  (1)原产品需求  (2)需求分析 

    2024年02月02日
    浏览(42)
  • Python 用嵌套字典实现手机通讯录(详解版)

    运行结果: 运行结果: 作者:周华 创作日期:2023/9/27

    2024年02月03日
    浏览(47)
  • Python中的字典遍历

    Python字典是一种关联数组或哈希表,其中存储了键值对。遍历字典的方法有很多,以下是一些常见的方法: 遍历所有的键 : 或者 遍历所有的值 : 遍历所有的键-值对 : 使用字典推导 : 可以使用字典推导来创建一个新的字典。例如,要创建一个值为原字典键的新字典,可以使用

    2024年02月12日
    浏览(38)
  • Python 遍历字典的若干方法

    哈喽大家好,我是咸鱼 我们知道字典是 Python 中最重要且最有用的内置数据结构之一,它们无处不在,是语言本身的基本组成部分 我们可以使用字典来解决许多编程问题,那么今天我们就来看看 如何在 Python 中遍历字典 全文内容:https://realpython.com/iterate-through-dictionary-pytho

    2024年02月10日
    浏览(38)
  • Python字典,什么是字典、增删改查、属性操作和遍历

    Python字典是一种无序的、可变的数据类型,它可以存储任意类型的数据,通过键值对的方式进行存储和访问。 字典的增: 使用键值对的方式,将数据添加到字典中。可以通过以下两种方式进行增加: 使用索引表达式(中括号)赋值的方式增加键值对,例如:dict[key] = value。

    2024年02月01日
    浏览(39)
  • Python 遍历字典的8种方法

    📚 个人网站:涛哥聊Python 遍历字典是Python中常见的操作,可以很方便的访问字典中的键和值,以执行各种任务。 本文将介绍Python中遍历字典的8种方法,包括for循环、字典方法和推导式等。 使用for循环是最常见的遍历字典的方法。您可以分别遍历字典的键、值或键值对。

    2024年04月27日
    浏览(30)
  • Python基础操作_字典的遍历

    结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: 结果: aliens = [] 结果: 结果: 结果: 结果: 结果: 总结: 1、字典的遍历方法:items()方法:键-值对遍历,返回的值是一个可以迭代序列,list()函数可以将其转为列表

    2024年02月07日
    浏览(39)
  • 【python基础】复杂数据类型-字典(增删改查)

    字典,是另外一种复杂的数据类型,相较于列表,字典可以将相关信息关联起来。比如说一个人的信息有名字、年龄、性别等,如果用列表存储的话,不能表示他们之间是相关联的,而字典可以,字典是一个或多个键值对组成 列表的标志是[ ], 字典的标志是{ } ,其语法格式:

    2024年02月08日
    浏览(40)
  • Python中dict字典的多种遍历方式

    可以使用 for key in dict 遍历字典中所有的键 字典提供了 keys () 方法返回字典中所有的键 字典提供了 values () 方法返回字典中所有的值 字典提供了 items () 方法返回字典中所有的键值对 item 键值对 item 是一个元组(第 0 项是键、第 1 项是值) 例子

    2024年02月08日
    浏览(37)
  • java解析多层嵌套json字符串

    在java 程序中,经常会涉及到各种变量值提取的问题,下面给出简单的示例及说明: JSON实际上也是键值对(\\\"key\\\":\\\"value\\\"),key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null) value如果是字符串,用jsonobj.getString(\\\"key\\\")获取 value如果是数

    2024年02月15日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包