📅  最后修改于: 2023-12-03 14:46:12.729000             🧑  作者: Mango
在 Python 中,元组是不可变序列(Immutable Sequence)。这意味着一旦元组创建完成,就无法更改其内容。元组的语法是通过圆括号包裹元素来实现的。
可以通过使用逗号将元素分隔,并使用圆括号将所有元素括起来来创建元组。
t = ("apple", "banana", "cherry")
print(t)
输出:
('apple', 'banana', 'cherry')
如果只有一个元素,则需要在元素后面添加逗号,否则将其视为一个括号表达式。
t = ("apple",)
print(type(t))
输出:
<class 'tuple'>
可以使用范围操作符来获取元组的部分内容。范围操作符由冒号分隔的两个索引点表示,其中第一个索引表示范围的开始,而第二个索引表示范围的结束。
t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[2:5])
输出:
('cherry', 'orange', 'kiwi')
如果省略第一个索引,则将范围的开始设置为 0。如果省略第二个索引,则将范围的结束设置为元组的长度。
t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
print(t[:4])
print(t[2:])
print(t[:])
输出:
('apple', 'banana', 'cherry', 'orange')
('cherry', 'orange', 'kiwi', 'melon', 'mango')
('apple', 'banana', 'cherry', 'orange', 'kiwi', 'melon', 'mango')
可以使用元组来同时赋值到多个变量,这称为元组解包。
t = ("apple", "banana", "cherry")
(a, b, c) = t
print(a)
print(b)
print(c)
输出:
apple
banana
cherry
可以使用一个星号来获取剩余的元素。
t = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
(a, b, *c) = t
print(a)
print(b)
print(c)
输出:
apple
banana
['cherry', 'orange', 'kiwi', 'melon', 'mango']
由于元组是不可变序列,因此无法更改元组中的元素。
t = ("apple", "banana", "cherry")
t[1] = "orange"
输出:
TypeError: 'tuple' object does not support item assignment
但是,如果元组中包含可变对象,则可以更改可变对象的内容。
t = ([1, 2], [3, 4])
t[0][0] = 0
print(t)
输出:
([0, 2], [3, 4])
元组是不可变序列。通过使用逗号分隔元素并使用圆括号括起来,可以创建元组。可以使用范围操作符获取元组中的部分内容,并可以使用元组解包将元组元素分配到多个变量中。由于元组是不可变序列,无法更改元组中的元素,但可以更改可变对象的内容,例如列表。