我有一个大的嵌套字典,我想打印它的结构和每个级别的一个示例元素。在
例如:
from collections import defaultdict
nested = defaultdict(dict)
for i in range(10):
for j in range(20):
nested['key'+str(i)]['subkey'+str(j)] = {'var1': 'value1', 'var2': 'value2'}
如果我用pprint
打印这个,我将得到所有非常长的元素,部分输出如下:
是否有一种内置方式或库来在每个级别中只显示少数顶层元素,并用'...'
来表示其余元素,从而以紧凑的方式显示整个字典?如下所示(也要打印'...'
):
每一级只有一个示例的期望输出:
{'key0': {
'subkey0': {
'var1: 'value1',
'...'
},
'...'
},
'...'
}
对于列表,我找到了this solution,但没有找到任何嵌套字典的内容。在
一个基本的解决方案是设置自己的嵌套函数,该函数将循环并检测值,以便只打印从每个值中找到的第一个项。因为字典是不排序的,这意味着它将随机选择一个。因此,如果你想让它智能地分离不同类型的例子,你的目标本身就很复杂。在
但基本功能是如何工作的:
这个嵌套函数只遍历它找到的所有dict并继续忽略它获取的第一个条目。您可以为带有
elif isinstance(value, list)
的列表添加处理,对于其他类型也是如此。在对于示例输入,它将生成以下内容:
^{pr2}$相关问题 更多 >
编程相关推荐