Python元组_不可修改

元组的不可修改

1.元组是一系列的值。这些值可以是任意类型的,并且用整数序号作为索引,其实元组和列表非常相似,二者间重要的区别就是:元组不可修改。

元组的语法是一系列用逗号分隔的值:

>>> t = 'a', 'b', 'c', 'd'

通常都用一对圆括号把元组的元素包括起来,这样看起来比较规范,但没有硬性要求。

>>> t = ('a', 'b', 'c', 'd')

要建立一个单个元素构成的元组,必须要在结尾加上逗号:

>>> type(t1)

<class 'tuple'>

不加逗号结尾,就不是元组:

>>> t1 = 'a'

>>> type(t1)

<class 'str'>     #如果不加逗号结尾,就是定义的字符类型str。

只用括号放一个值,也是字符str,而不是元组:

>>> t1 = ('a')

>>> type(t1)

<class 'str'>

2.另一种建立元组的方法是使用内置函数tuple。不提供参数的情况下,默认就建立一个空的元组。

>>> t2 = tuple()

>>> t2

()

如果参数为一个序列(比如字符串、列表或者元组),结果就会得到一个以该序列元素组成的元组:

>>> t3 = tuple('apple')

>>> t3

('a', 'p', 'p', 'l', 'e')

从上例可以看到,tuple已经是Python内置函数了,不能用来自定义函数了。

3.列表的各种运算符也基本适用于元组,方括号可以用来索引元素:

>>> t3

('a', 'p', 'p', 'l', 'e')

>>> t3[0]

'a'

>>> t3[1]

'p'

切片运算符也可以用于选取某一区间的元素:

>>> t3[1:2]

('p',)

>>> t3[1:3]

('p', 'p')

>>> t3[1:4]

('p', 'p', 'l')

>>> t3[1:5]

('p', 'p', 'l', 'e')

4.但如果你想修改元组中的某个元素,就会提示类型错误了,因为元组是不能修改的,你不能修改其中的元素。

>>> t3[0] = 'J'

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

TypeError: 'tuple' object does not support item assignment

但是,我们可以用另一个元组来替换已有的元组。

>>> t4 = ('J',) + t3[1:]

>>> t4

('J', 'p', 'p', 'l', 'e')     #这里把a替换成了J

上面这个语句建立了一个新的元组('J', 'p', 'p', 'l', 'e') ,然后让 t4 指向了这个新的元组。

5.关系运算符也适用于元组和其它序列;Python 从每个元素的首个元素开始对比。如果相等,就对比下一个元素,依此类推,直到找到不同元素为止:

>>> (0, 1, 2) < (0, 3, 4)

True

>>> (0, 1, 200) < (0, 3, 4)

True

>>> (0, 1, 200) > (0, 3, 4)

False

结束。

原文地址:https://www.cnblogs.com/liusingbon/p/13205090.html