将嵌套的dict转换为扁平的,然后再次返回嵌套

时间:2020-09-16 11:01:17

标签: python-3.x nested-lists

在python中,我具有以下嵌套的dict对象:

class EnquirySerializer(serializers.ModelSerializer):

      class Meta:
        model = Enquiries
        fields = '__all__'

我想通过添加bookmarks = [ { "/Page": "0", "/Title": "title000", }, [ { "/Page": "1", "/Title": "title001", }, { "/Page": "2", "/Title": "title002", }, [ { "/Page": "6", "/Title": "\title006", }, { "/Page": "7", "/Title": "\title007", } ], ] ] 属性来将字典平整化

我可以这样做

level

所以hare=[] def flatten1(bookmarks,hare_array,last_added=0): hare= hare_array last_added = last_added + 1 for b in bookmarks: if isinstance(b, list): flatten1(b, hare, last_added) continue b["level"] = last_added hare.append(b) print(flatten1(bookmarks,hare)) 变成

hare[]

我将基于 { "/Page": "0", "/Title": "title000", "level": 1}, { "/Page": "1", "/Title": "title001", "level": 2}, { "/Page": "2", "/Title": "title002", "level": 2}, { "/Page": "6", "/Title": "title006", "level": 3}, { "/Page": "7", "/Title": "title007", "level": 3}, ]

修改数组
level

现在我想基于[ { "/Page": "0", "/Title": "title000", "level": 1}, { "/Page": "1", "/Title": "title001", "level": 2}, { "/Page": "2", "/Title": "title002", "level": 2}, { "/Page": "3", "/Title": "title008", "level": 3}, { "/Page": "6", "/Title": "title006", "level": 4}, { "/Page": "7", "/Title": "title007", "level": 4}, ] 值将此转换回嵌套的字典

level

我如何在python3中做到这一点

0 个答案:

没有答案