Python 有一个不可变的列表吗?
问题描述
python 有不可变的列表吗?
Does python have immutable lists?
假设我希望有一个有序的元素集合的功能,但我想保证不会改变,如何实现?列表是有序的,但它们可以改变.
Suppose I wish to have the functionality of an ordered collection of elements, but which I want to guarantee will not change, how can this be implemented? Lists are ordered but they can be mutated.
解决方案
是的.它被称为 tuple
.
所以,[1,2]
是一个 list
并且可以被变异,而不是 (1,2)
是一个tuple
不能.
So, instead of [1,2]
which is a list
and which can be mutated, (1,2)
is a tuple
and cannot.
更多信息:
单元素的tuple
不能通过写(1)
来实例化,而是需要写(1,)
.这是因为解释器对括号还有各种其他用途.
A one-element tuple
cannot be instantiated by writing (1)
, instead, you need to write (1,)
. This is because the interpreter has various other uses for parentheses.
您也可以完全取消括号:1,2
与 (1,2)
You can also do away with parentheses altogether: 1,2
is the same as (1,2)
请注意,元组完全不是不可变列表.点击这里阅读更多关于列表和元组的区别一个>
Note that a tuple is not exactly an immutable list. Click here to read more about the differences between lists and tuples
相关文章