我想知道在不依赖于键的情况下修改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标准是怎么说的,有人能提供一些信息吗?
谢谢!

最佳答案

如果你指的是这样的结构:

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

那么是的,这是完全安全的。dict只存储对所讨论对象的引用,除了存储和检索之外,不以任何方式接触该对象。这没有明确的记录,但它隐含在definition of mapping中(其中dict是一个子类型):
映射对象将哈希值映射到任意对象。
“任意”表示对象可能是可变的。

10-06 04:36