亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何用空字典替換“None”作為字典值?

如何用空字典替換“None”作為字典值?

手掌心 2023-07-18 15:25:26
我正在解析一個復雜的 json 字符串,并在我的類中使用嵌套字典和一些嵌套 dic.get() 函數。當更高級別的密鑰不存在時,我不想接收 None ,而是想找到一個空字典,以便我的代碼(dict.get())繼續工作。現在我想用空字典 {} 替換所有名為 None 的字典值,但我沒有找到任何好的解決方案。所以基本上我想要這個:{'a': {}, 'b': 'Text', 'c': 5, 'd': {'d1': {}}但遺憾的是:{'a': None, 'b': 'Text', 'c': 5, 'd': {'d1': None}
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

其他解決方案是遞歸遍歷字典并替換None值:


def replace(d):

    if isinstance(d, dict):

        for k in d:

            if d[k] is None:

                d[k] = {}

            else:

                replace(d[k])

    elif isinstance(d, list):

        for v in d:

            replace(v)



d = {'a': None,

     'b': 'Text',

     'c': 5,

     'd': {'d1': None}}


replace(d)

print(d)

印刷:


{'a': {}, 'b': 'Text', 'c': 5, 'd': {'d1': {}}}


查看完整回答
反對 回復 2023-07-18
?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

get您可以使用該方法的默認值


dict.get("a", {})

樣本:


d = { 'b' : 1,

       'c' : { 'd': 2 } }

print (d.get('a', {}))

print (d.get('c', {}).get('a', {}))

print (d.get('x', {}).get('y', {}).get('z', {}))

輸出:


{}

{}

{}


查看完整回答
反對 回復 2023-07-18
  • 2 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號