Python元组不变性问题

时间:2018-05-07 04:47:47

标签: python immutability

遇到以下代码行:

first_names = ['Fred', 'George', 'Bill']
last_names = ['Smith', 'Jones', 'Williams']
name_tuple = (first_names, last_names)

first_names.append('Igor')
#name_tupple why this output
#(['Fred', 'George', 'Bill', 'Igor'], ['Smith', 'Jones', 'Williams'])
  • 如果元组是不可变的,为什么引用的元组会在将新项目附加到列表时进行更改?

我知道元组有列表的引用,列表在python中是不可变的。

为什么不把元组的副本制作成可以不变的元素?

1 个答案:

答案 0 :(得分:-1)

你说过:你有一个列表引用元组。引用不会改变,只有列表。正如Henrik Andersson在评论中指出的那样,this answer解释得非常好。