第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python函數(shù)不返回值

python函數(shù)不返回值

陪伴而非守候 2023-03-30 09:42:28
我寫了這個 python 函數(shù):d ={'key1':{'key2':{'key11':{'key12':'value13'}}},'key3':[{'key4':'value2', 'key5': 'value3'}]}key_path = 'key1.key2.key11.key12'def recursive_search(d, key_path):    key_parts = key_path.split('.')    if len(key_parts) == 1:        return d.get(key_parts[0])    elif isinstance(d.get(key_parts[0]), dict):        recursive_search(d.get(key_parts[0]), '.'.join(key_parts[1:]))    elif isinstance(d.get(key_parts[0]), list):        for i in d.get(key_parts[0]):            for key in i.keys():                if key == key_parts[1]:                    recursive_search(i, '.'.join(key_parts[1:]))x = recursive_search(d, 'key3.key4')我期待返回“value2”,但沒有返回任何內容。我究竟做錯了什么?
查看完整描述

1 回答

?
猛跑小豬

TA貢獻1858條經(jīng)驗 獲得超8個贊

當你遞歸調用時,你不會返回任何東西recursive_search。添加return,它會工作正常


d ={'key1':{'key2':{'key11':{'key12':'value13'}}},'key3':[{'key4':'value2', 'key5': 'value3'}]}

key_path = 'key1.key2.key11.key12'



def recursive_search(d, key_path):

    key_parts = key_path.split('.')

    if len(key_parts) == 1:

        return d.get(key_parts[0])

    elif isinstance(d.get(key_parts[0]), dict):

        return recursive_search(d.get(key_parts[0]), '.'.join(key_parts[1:]))

    elif isinstance(d.get(key_parts[0]), list):

        for i in d.get(key_parts[0]):

            for key in i.keys():

                if key == key_parts[1]:

                    return recursive_search(i, '.'.join(key_parts[1:]))


x = recursive_search(d, 'key3.key4')

print (x)

輸出


value2


查看完整回答
反對 回復 2023-03-30
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號