python 將 含巢狀的 dict平鋪展開

2021-09-28 07:41:09 字數 882 閱讀 6021

話不多說,直接上**:

def prefix_dict(di_, prefix_s=''):

"""把字典的每個key都帶上字首prefix_s

:param di_:

:param prefix_s:

:return:

"""return

def spear_dict(di_, con_s='.'):

"""展開dict(如果下層還是dict),需要遞迴,展開到下層的資料型別不是字典為止

可能實用的地方:將文件類的資料格式化成更加關係化的樣子可能有用

:param di_: 輸入字典

:param con_s: 層級間的連線符號

:return: 深度不大於1的字典,巢狀的其他資料型別照舊

"""ret_di = {}

for k, v in di_.items():

if type(v) is dict:

v = spear_dict(v)

# 這裡或許有不寫到這一層的更好寫法

# for k_, v_ in v.items():

# ret_di.update()

ret_di.update(prefix_dict(v, prefix_s=k + con_s))

else:

ret_di.update()

return ret_di

>>> di_

, 'location': , 'adinfo': , 'level': 11, 'more_deep': }}

>>> spear_dict(di_)

spear_dict(di_, '_')

Python中的字典dict

目錄字典 字典中常見的函式 字典的訪問 字典中 鍵值key 的遍歷 字典中 值value 的遍歷 字典中鍵值和資料的遍歷 字典的操作 增刪改查 字典的排序 a 字典是 python 重要的資料型別,字典是由 鍵 值 對組成的集合,字典中的 值 通過 鍵 來引用。字典也稱為關聯陣列 對映或雜湊表。py...

python中dict的fromkeys用法

fromkeys是創造乙個新的字典。就是事先造好乙個空字典和乙個列表,fromkeys會接收兩個引數,第乙個引數為從外部傳入的可迭代物件,會將迴圈取出元素作為字典的key值,另外乙個引數是字典的value值,不寫所有的key值所對應的value值均為none,寫了則為預設的值 v dict from...

python中dict的fromkeys用法

fromkeys是創造乙個新的字典。就是事先造好乙個空字典和乙個列表,fromkeys會接收兩個引數,第乙個引數為從外部傳入的可迭代物件,會將迴圈取出元素作為字典的key值,另外乙個引數是字典的value值,不寫所有的key值所對應的value值均為none,寫了則為預設的值 fromkeys 方法...