与列表(list)一样,元组(tuple)也是序列,唯一的区别在于元组是不能修改的(你可能注意到了,字符串也不能修改)。
元组语法很简单,只要将一些变量用逗号(,
)分隔,就能自动创建一个元组。元组还可用圆括号(()
)括起(这也是通常采用的做法)
a=1, 2, 3 print(a) a=(1,2,3)
通过将所有项目(元素)放在括号内 ()
(以逗号(,
)分隔)来创建元组。括号是可选的,但是,使用括号是一个好习惯。
元组可以具有任意数量的项,并且它们可以具有不同的类型(整数(int
),浮点数(float
),列表(list
),字符串(string
)等)。
也可以在不使用括号的情况下创建元组。这称为元组包装。
用一个元素创建一个元组有点特殊。
只有一个元素的元组,括号内仅包含一个元素是不够的。我们将需要一个逗号结尾来表明它实际上是一个元组。
my_tuple = ("hello",) print(type(my_tuple))
我们可以通过多种方式访问元组的元素。
我们可以使用索引运算符 []
访问索引从 0
开始的元组中的项目。
因此,具有 6 个元素的元组将具有从 0
到 5
的索引。尝试访问元组之外的元素(例如 6
、7
...)将引发 IndexError
。
索引必须是整数;因此我们不能使用 float
或其他类型。如果使用会导致 TypeError
。
my_tuple = ('p','e','r','m','i','t') print(my_tuple[0]) #p print(my_tuple[5]) #t # 嵌套元组 n_tuple = ("mouse", [8, 4, 6], (1, 2, 3)) # 嵌套索引 print(n_tuple[0][3]) #s print(n_tuple[1][1]) #4
与列表不同,元组是不可变的。
这意味着一旦分配了元组的元素就无法更改。但是,如果元素本身是可变的数据类型(如列表),则可以更改其嵌套项目。
我们还可以将元组分配给不同的值(重新分配)。
# 定义一个内嵌列表的元组 tuple_1 = (4, 2, 3, [9]) # 对列表进行添加操作 tuple_1[3].append(5) print(tuple_1) #(4, 2, 3, [9, 5]) my_tuple = ('p','r','o','g','r','a','m','i','z') # 将元组分配给不同的值 tuple_2 = my_tuple print(tuple_2) #('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
我们可以使用 +
运算符来合并两个元组。这也称为串联。
我们还可以使用运算符 *
,将元组中的元素重复给定次数。
无论 +
和 *
操作会导致新的记录。
如上所述,我们不能更改元组中的元素。这也意味着我们无法删除或删除元组中的项目。
但是可以使用关键字 del
完全删除一个元组。
元组(tuple
)不提供添加项目或删除项目的方法。仅以下两种方法可用。
count(x)
index(x)