Python:打印出复杂数据结构的所有值(不包括哈希键)

标签 python list recursion dictionary

<分区>

基本上,我有一个非常冗长和复杂的数据结构。为了简化,它基本上看起来像这样:

{'tom':'stats', 'keys':[{'tim': 'doc', 'year': 1999},{'mum':'veg', 'nba':'qweqwe'}] }

它是一个包含字符串值和整数值的字典。但是,有时该值可以是 list 并且该列表可以包含字典。

我想编写一个函数,递归地打印出数据结构中的所有内容。谁能告诉我如何做到这一点?

编辑 对不起。我没有正确解释这个问题。我知道我可以使用 pprintjson 很好地打印出来。但这不是我想要的。 我希望输出看起来像这样: stats, doc,1999, veg, qweqwe

我正在使用的复杂数据结构示例如下:

{'edw': {'_tot': 1, 'val': [{'sd': {'yr': 93}, 'Date': {'r': 19}, 'deg ': 'B', 'skl': 'Uni', 'field': 'sports', 'phonenum': 5121123}]}}

更新

非常感谢大家的精彩回答!我真的学到了很多东西。

最佳答案

d = {'tom':'stats', 'keys':[{'tim': 'doc', 'year': 1999},{'mum':'veg', 'nba':'qweqwe'}] }

def print_all_values(input):
    if isinstance(input, dict):
        for key, value in input.items():
            print_all_values(value)
    elif isinstance(input, list):
        for value in input:
            print_all_values(value)
    else:
        print(input)

print_all_values(d)

关于Python:打印出复杂数据结构的所有值(不包括哈希键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542202/

相关文章:

python - 如何获取函数的参数类型和返回类型?

python - 将元组转换为两部分

excel - 强制 Excel 接受数字作为列表名称

死兔子的C++程序

当 return 不为 1 时,Java 阶乘值会发生变化

Python-在dict中用作 "dummy value"的最便宜的数据类型是什么

用于查找和覆盖/替换图像部分的 Python、OpenCV

python - 使用递归查找所有索引

python - Python-如何正确终止threading.Timer类?

list - R中的字典数据结构