【发布时间】:2012-03-15 06:13:57
【问题描述】:
【问题讨论】:
标签: python tuples immutability mutable
【问题讨论】:
标签: python tuples immutability mutable
几个原因:
__hash__ 方法,则返回的值可能会随着内容的变化而变化,这违反了哈希值的约定。tuple 方法传递序列参数,该方法仅在必要时复制。【讨论】:
tuple(..) 创建一个新的元组对象,从给定的可迭代对象(通常是一个列表)中复制每个元素。但如果参数已经是一个元组,则该元组只是被返回并且不会发生复制。
{[]} 这样的集合,因为 Python 的集合实现依赖于一致的散列,而像列表这样的可变对象是不可散列的。
因为否则就不会有不可变的序列类型!如果你想要一个可变元组,你只需使用一个列表。
在适当的时候使用不可变类型具有各种性能优势,如果将它们设为可变,您将无法轻松地将 dict 与元组键一起使用。
【讨论】: