4

我想知道当它不依赖于键时是否可以修改 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标准对此有何规定,有人可以提供一些信息吗?

谢谢!

4

1 回答 1

5

如果你的意思是这样的结构:

d = {1: [1]}
for v in d.itervalues():
    v[0] += 1

那么是的,这是完全安全的。仅存储对相关对象的dict引用,除了存储和检索之外不以任何方式触及它。这没有明确记录,但它隐含在映射的定义中(它dict是一个子类型):

映射对象将可散列值映射到任意对象。

“任意”意味着对象可能是可变的。

于 2012-07-03T13:21:14.393 回答