我想知道在不依赖于密钥的情况下修改Python字典的值是否可以:
# d is some dictionary containing classes I wrote
for v in d.itervalues():
# modify v, and v's type may or may not change
我不确定Python标准对此有何看法,有人可以提供一些信息吗?
谢谢!
答案 0 :(得分:5)
如果你的意思是:
d = {1: [1]}
for v in d.itervalues():
v[0] += 1
然后是的,这是完全安全的。 dict
只存储对相关对象的引用,并且除了存储和检索之外不会以任何方式触摸它。这没有明确记录,但它隐含在definition of mapping中(其中dict
是一个子类型):
映射对象将可哈希值映射到任意对象。
“任意”意味着该对象可能是可变的。