python的迭代函數(shù)編寫

? ? 進(jìn)入編寫阿里云在線的OCR程序,也順便提前了json字符串和python字典的轉(zhuǎn)換及使用,由于涉及到字典的變量問(wèn)題,順便寫了一個(gè)迭代dict字典類的函數(shù),供大家參考學(xué)習(xí)。

代碼截圖

# dict字典迭代函數(shù)

def dictIterator(value, key:str ='', i:int = -1):# value為字典的value,key為字典的key,i為字典所在層級(jí)數(shù)

? ? i +=1

? ? if type(value) ==dict:# 判斷輸入類型是為字典類型

? ? ? ? for (k, v)in value.items():# 如果是字典類型則遍歷字典原始

? ? ? ? ? ? dictIterator(v, k, i)# 并回調(diào)迭代函數(shù)自身

? ? elif type(value) ==list:# 如果類型為list,則為字典對(duì)象數(shù)組,則做數(shù)組遍歷出字典對(duì)象

? ? ? ? for datain value:

for (data_k, data_v)in data.items():# 遍歷數(shù)組中單個(gè)字典對(duì)象,并回調(diào)迭代函數(shù)自身

? ? ? ? ? ? ? ? dictIterator(data_v, data_k, i)

else:# 如果既不是字典對(duì)象,也不是數(shù)組對(duì)象,則直接輸出

? ? ? ? tabStr =''

? ? ? ? for bin range(i):

tabStr +='? ? '? # 在打印過(guò)程中體現(xiàn)不同層級(jí)縮進(jìn)

? ? ? ? print('Level[', i, "]:", tabStr, key, ":", value)

jsonStr = {"sid":"0cc4688a7e9c551cfedf59450a72c703952e400512d674c2bbd261b73ff022080e23ea03","prism_version":"1.0.9","prism_wnum":5,"prism_wordsInfo":[{"word":"Open pilot的主要特性包括哪些?","pos":[{"x":59,"y":43},{"x":497,"y":40},{"x":497,"y":67},{"x":60,"y":70}],"direction":0},{"word":"Open pilot官方版本支持車道保持與ACC巡航。","pos":[{"x":97,"y":113},{"x":527,"y":112},{"x":528,"y":134},{"x":97,"y":135}],"direction":0},{"word":"分支版本arne 182\u0027s Fork也有對(duì)部分車型支持轉(zhuǎn)向燈變道, 依賴于原車盲區(qū)檢測(cè)功能提供側(cè)向車道檢測(cè)","pos":[{"x":95,"y":163},{"x":1018,"y":163},{"x":1018,"y":185},{"x":95,"y":185}],"direction":0},{"word":"信號(hào),豐田車型適配較好。","pos":[{"x":58,"y":198},{"x":291,"y":198},{"x":291,"y":218},{"x":58,"y":218}],"direction":0},{"word":"·0.6.4之后的版本在測(cè)試過(guò)程中發(fā)現(xiàn),如果沒(méi)有車道線情況下,會(huì)跟隨前車軌跡行駛","pos":[{"x":78,"y":249},{"x":841,"y":249},{"x":841,"y":269},{"x":78,"y":269}],"direction":0}],"height":286,"width":1040,"orgHeight":286,"orgWidth":1040,"content":"Open pilot的主要特性包括哪些? Open pilot官方版本支持車道保持與ACC巡航。 分支版本arne 182\u0027s Fork也有對(duì)部分車型支持轉(zhuǎn)向燈變道, 依賴于原車盲區(qū)檢測(cè)功能提供側(cè)向車道檢測(cè) 信號(hào),豐田車型適配較好。 ·0.6.4之后的版本在測(cè)試過(guò)程中發(fā)現(xiàn),如果沒(méi)有車道線情況下,會(huì)跟隨前車軌跡行駛 "}

dictIterator(jsonStr)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容