簡體   English   中英

遍歷字典列表中的字典

[英]Traversing through a dict of lists of dicts

我有一個字典,其中包含字典和列表的組合,格式通常如下:

dict={
    category1: {
        [{sub_cat1: [{item1:datetime1},
                     {item2:val2}
                    ],
          sub_cat2: 'some-string',
          sub_cat3: some_int},
         {sub_cat1: [{item1:datetime3},
                     {item2:val4}
                    ],
          sub_cat2: 'some-string2',
          sub_cat3: some_int2},
                    .
                    .
        ],
    category2:{[]},
    category3:{[{some more stuff}]}
    }

目的是在dict中直接在最低層次結構內修改datetime對象。 我可以編寫一個巨型的for循環來遍歷所有內容,但是我不知道是否有更有效的方法遍歷此命令。

遍歷到任意嵌套的可迭代對象通常是使用遞歸函數完成的,例如:

def change_datetime(new_datetime, dct):
    temp = enumerate(dct) if isinstance(dct, list) else dct.items()
    for index, i in :
        if hasattr(i, "__iter__"):
            change_datetime(new_datetime, i)
        elif isinstance(i, datetime.datetime):
            dct[index] = i

每次找到另一個可迭代對象時,通過對change_datetime的新調用,我們可以檢查層次結構中的每個列表/字典。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM