[英]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.