問一個關于python json的問題?
問題描述
想知道為什么這段代碼運行的結果不是想象中的’['123']’
In [1]: import jsonIn [2]: t = ’[]’In [3]: t = json.dumps(json.loads(t).append(’123’))In [4]: tOut[4]: ’null’
但是拆分以后又正常運行?
In [5]: t1 = ’[]’In [6]: t2 = json.loads(t1)In [7]: t2Out[7]: []In [8]: t2.append(’123’)In [9]: t2Out[9]: [’123’]In [10]: t1 = json.dumps(t2)In [11]: t1Out[11]: ’['123']’
甚至不引入多一個變量,拆分也是正常運行
In [12]: t1 = ’[]’In [13]: t1 = json.loads(t1)In [14]: t1Out[14]: []In [15]: t1.append(’123’)In [16]: t1Out[16]: [’123’]In [17]: t1 = json.dumps(t1)In [18]: t1Out[18]: ’['123']’
請指教
問題解答
回答1:因為 list.append 返回值是 None 而不是 列表自己
回答2:列表的append操作返回的是 None, 即 json.loads(t).append(’123’) 返回的是None。
拆開的操作不是 append的返回值,而就是這個列表對象。
相關文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. python的前景到底有大?如果不考慮數據挖掘,機器學習這塊?3. Matlab和Python編程相似嗎,有兩種都學過的人可以說說嗎4. javascript - Html5做移到端定位,獲取授權拒絕了怎么辦?5. javascript - 關于audio標簽暫停的問題6. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?7. 網頁爬蟲 - 用Python3的requests庫模擬登陸Bilibili總是提示驗證碼錯誤怎么辦?8. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)9. javascript - Web微信聊天輸入框解決方案10. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應
