python字典嵌套字典遍历_如何遍历嵌套字典并在Python中获得路径?

我有一本字典,如:{

"checksum": "b884cbfb1a6697fa9b9eea9cb2054183",

"roots": {

"bookmark_bar": {

"children": [ {

"date_added": "12989159740428363",

"id": "4",

"name": "test2",

"type": "url",

"url": "chrome://bookmarks/#1"

} ],

"date_added": "12989159700896551",

"date_modified": "12989159740428363",

"id": "1",

"name": "bookmark_bar",

"type": "folder"

},

"other": {

"children": [ {

"date_added": "12989159740428363",

"id": "4",

"name": "test",

"type": "url",

"url": "chrome://bookmarks/#1"

} ],

"date_added": "12989159700896557",

"date_modified": "0",

"id": "2",

"name": "aaa",

"type": "folder"

},

"synced": {

"children": [ ],

"date_added": "12989159700896558",

"date_modified": "0",

"id": "3",

"name": "bbb",

"type": "folder"

}

},

"version": 1

}

一切都从‘根’开始,它们有两种类型的数据:URL和文件夹,它们是字典。如果它是一个文件夹,它必须有‘子’键,键的值是一个列表,我们可以在其中放置更多的URL和文件夹。

现在我想遍历这个嵌套字典,以获得所有子文件夹中的URL,所以我编写了一个函数:def traverse(dic):

for i in dic:

if i['type'] == 'folder':

for j in traverse(i['children']):

yield j

elif i['type'] == 'url':

yield i

我可以这样用它:traverse(dictionary['roots']['bookmark_bar']['children'])

效果很好。但是它只是生成一个URL的字典,我不知道它在哪里。我也想走这条路。我该怎么做?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值