📜  python 元组范围 - Python (1)

📅  最后修改于: 2023-12-03 14:46:12.729000             🧑  作者: Mango

Python 元组范围

在 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])
总结

元组是不可变序列。通过使用逗号分隔元素并使用圆括号括起来,可以创建元组。可以使用范围操作符获取元组中的部分内容,并可以使用元组解包将元组元素分配到多个变量中。由于元组是不可变序列,无法更改元组中的元素,但可以更改可变对象的内容,例如列表。