在 Python 中,可变对象(如列表、字典、集合等)可以通过引用来修改。这意味着,当你将一个可变对象赋值给一个新的变量时,两个变量实际上指向的是同一个对象。对这个对象的任何修改会同时反映在所有引用该对象的变量上。
可变对象与不可变对象
- 可变对象:列表(
list
)、字典(dict
)、集合(set
)等。 - 不可变对象:整数(
int
)、字符串(str
)、元组(tuple
)等。
示例代码:
chains = {'A': {'seq': 'ACDE', 'occ': [0, 0, 0, 0]}}
c = chains['A'] # c 是 chains['A'] 的引用
c['occ'][1] = 0.8 # 修改 c 相当于修改 chains['A']
print(chains)
输出结果:
{'A': {'seq': 'ACDE', 'occ': [0, 0.8, 0, 0]}}
正如你所见,修改 c
的同时,chains
中的数据也更新了。