繁体   English   中英

Python,字典复制和更新不起作用?

[英]Python, dictionary copy and update doesn't work?

为什么下面的代码为什么对b不显示None ,而对{'a':1,'e':2}却不显示? Python 2.7.3

>>>> d = {'a' :1 }
>>>> b = d.copy().update({'e':2})
>>>> print b
None
>>>> d.update({'c':3})
>>>> print d
{'a': 1, 'c': 3}

dict.update修改字典,但返回None 这就是为什么

b = d.copy().update({'e':2})

b设置为None ,而

d.update({'c':3})

修改d

许多Python方法都采用这种方式。 例如, list.sortrandom.shuffle也会修改对象并返回None 我认为Python这样做是为了阻止长的“ Demeter-scoff-scoffing”引用链,因为它们不能提高可读性,也很难发现异常引发的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM