如何解决初始化时更新Python字典
我只是在玩Python的字典和列表。我发现了这些奇怪的东西-
在初始化任何 Python字典,列表或某些其他数据类型时,您无法执行该数据类型的操作。
# Case 1
d1 = {}
d1.update({'a': 'A'})
print(d1)
# Case 2
d2 = {}.update({'p': 'P'})
print(d2)
输出:
{'a': 'A'}
None
奇怪的是,d2都没有初始化,也没有引发任何错误。
我对此有何看法?
嗯,Python's interpreter reads code line by line
。因此,当它读取行d1 = {}
时,它将保存d1,并将其类型(dict
)存储在内存中。
但是d2 = {}.update({'p': 'P'})
不会发生这种情况
可以对dict对象执行任何dict操作,在第二种情况下,它永远不会启动。 字典对象从未创建。
您对此有何看法?
如果我错了,请放弃你的答案并纠正我。我猜可能是。
谢谢
解决方法
dict.update()
是没有返回类型的操作。
好吧,.update()
不会进行字典的更新并且什么也不返回,因此,当您初始化一个空字典并对其进行更新时,它什么也不会返回,并且没有分配给d2
。相反,它将像:
d = {}
d.update({'p': 'P'})
print(d)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。