基本介绍
元组是值的序列。 这些值可以是任何类型,并且它们由整数进行索引,因此在这方面元组非常类似于列表。 重要的区别在于元组是不可变的(immutable)。
在语法上,tuple 是一个以逗号分隔的值列表,虽然没有必要,但常常将元组括在括号内。
t = 'a', 'b', 'c'
type(t)
#tuple
t = ('a', 'b', 'c')
type(t)
#tuple
要用创建一个 只有一个元素的元组,必须包含一个最后的逗号:
t = 'a',
type(t)
#tuple
括号中的只有一个元素不是元组:
t = ('a')
type(t)
#str
t = ('a',)
type(t)
#tuple
创造一个空的元组:
t =tuple()
t
#()
如果参数是一个序列(字符串、列表或元组) ,结果是一个包含所有其中元素的元组:
t =tuple('mathilda')
t
#('m', 'a', 't', 'h', 'i', 'l', 'd', 'a')
大多数列表操作符也用于元组:
t =tuple('mathilda')
t[0]
#'m'
t[1:3]
#('a', 't')
但是如果试图修改元组的一个元素,会报错:
t[0] = 'A'
#TypeError: 'tuple' object does not support item assignment
因为元组是不可变的,所以不能修改元素。 但是可以用另一个元组替换一个元组(注意第一个要是元组不能是‘M’),语句生成一个新元组,然后命名为t。
t = ('M',) + t[1:]
t
#('M', 'a', 't', 'h', 'i', 'l', 'd', 'a')
关系运算符处理元组和其他序列:Python 从比较每个序列的第一个元素开始。 如果它们相等,则继续到下一个元素,依此类推,直到找到不同的元素。 不考虑后续元素(即使它们非常大)。
(1, 2, 3) < (1, 1,