我有一本嵌套字典
'adipisci': {'foo': {'<UNK>': 2},
'adipisci': {'<UNK>': 2},
'non': {'adipisci': {'<UNK>': 2}}
'est': {'<UNK>': 3},
'tempora': {'<UNK>': 5}}
我需要生成
adipisci foo 2
adipisci adipisci 2
adipisci non adipisci 2
adipisci est 3
adipisci tempora 5
我有以下代码,但我没有得到预期的结果
def myprint(d,result):
for k, v in d.items():
if k=='<UNK>':
print(result)
if isinstance(v, dict):
result+=' '+k
myprint(v,result)
else:
print("{0} : {1}".format(k, v))
在进行递归调用时,应将父键作为路径进行跟踪,以便在看到键
UNK
时可以打印路径和当前值:因此
myprint(d)
输出:请注意,如果您使用的是Python 3.5或更高版本,则可以使用泛型解包来打印
path
的项:而不是
print(' '.join(path + [str(v)]))
。你知道吗相关问题 更多 >
编程相关推荐