如果有人能向我解釋以下情況,我將不勝感激。我是Python中的最新版本,也是編程中的最新版本。可能是沒有意義的。對象發生了什麼?
當我使用這個片段將返回我無:
(in) dic = {'a':1, 'b':2}
(in) print(dic.update({'c':3}))
(out) None
但是當我用這一個返回我更新DIC:
(in) dic = {'a':1, 'b':2}
(in) dic.update({'c':3})
(in) print(dic)
(out) {'a': 1, 'b': 2, 'c': 3}
爲什麼呢?爲什麼我必須完全符合訂單?
進一步編輯... 好的。我還不明白。是否與此代碼有任何關聯/關係:
(in) lst = [1,3,2,4,6,5]
(in) print(lst.sort())
(in) print(sorted(lst))
(out) None
(out) [1, 2, 3, 4, 5, 6]
在這兩種情況下,無論是函數還是方法,列表被假定爲已排序。但 當我通過方法調用打印時,它返回None。
(in) lst = [1,3,2,4,6,5]
(in) lst.sort()
(out) print(lst)
因爲'update'修改你的字典並返回'None'。這從代碼中看起來很清楚。 – khelwood
切線相關:https://nedbatchelder.com/text/names.html。 'dic'和'dic.update(...)'是表達式,它們簡單地評估爲兩個不同的對象。 – chepner