如果有人能向我解释以下情况,我将不胜感激。我是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