Python中元组声明的语法是什么?
Python提供了各种数据结构集合,如列表、元组、集合和字典。然而,这些元组与列表非常相似。因为列表是一种常用的数据结构,开发人员经常犯将元组与列表混淆的错误。
Python元组与列表一样,是任何数据类型的项目集合,但元组是不可变的,这意味着一旦分配,我们就不能更改元组的元素或元组本身,而列表元素是可变的。
在本文中,我们将向您解释什么是Python元组以及其上的各种操作。
更多Python相关文章,请阅读:Python 教程
创建元组
元组只能在分配时创建,因此将所有项目插入括号中,用逗号隔开,将导致创建元组。
示例1
# 字符串元组
demoTuple_1 = ("TutorialsPoint", "python", "codes")
print("demoTuple_1:", demoTuple_1)
输出
执行上述程序将生成以下输出
demoTuple_1: ('TutorialsPoint', 'python', 'codes')
示例2
# 整数、浮点数和字符串元组
demoTuple_2 = (25, 6.8, "TutorialsPoint")
print("demoTuple_2:", demoTuple_2)
输出
执行上述程序将生成以下输出
demoTuple_2: (25, 6.8, 'TutorialsPoint')
示例3
# 字符串和列表元组
demoTuple_3 = ("Welcome", [5, 8, 11])
print("demoTuple_3:", demoTuple_3)
输出
demoTuple_3: ('Welcome', [5, 8, 11])
示例4
# 嵌套元组(一个元组包含另一个元组)
demoTuple_4 = ((100, 80, 60), (2, "TutorialsPoint"))
print("demoTuple_4:", demoTuple_4)
输出
demoTuple_4: ((100, 80, 60), (2, 'TutorialsPoint'))
访问元组元素
要访问元组中的元素,我们需要索引。
我们也可以在元组中使用负索引。由于索引从0开始,我们使用0来访问元组的第一个元素,1来访问第二个成员,依此类推。
算法(步骤)
执行所需任务需要遵循的算法/步骤如下:
- 创建一个变量来存储输入元组。
-
打印输入元组。
-
使用 正数 索引,访问输入元组的第一个元素(元组索引始终从0开始)。
-
使用正索引访问输入元组的第四个元素(inputTuple[3])。
代码
# 由字符串组成的元组
inputTuple = ("TutorialsPoint", "python", "sample", "codes")
# 打印元组
print("输入的元组:", inputTuple)
# 访问元组的第一个元素
print("元组的第一个元素:", inputTuple[0])
# 访问元组的第四个元素
print("元组的第四个元素:", inputTuple[3])
输出
输入的元组:('TutorialsPoint', 'python', 'sample', 'codes')
元组的第一个元素:TutorialsPoint
元组的第四个元素:codes
使用负索引访问元组元素
负索引,就像列表和字符串索引一样,可以用于从末尾访问元组元素。
-1 表示访问最后一个元素, -2 表示访问倒数第二个元素,以此类推。
算法(步骤)
要执行所需的任务,需按照以下算法/步骤进行 –
- 创建一个变量来存储输入的元组。
-
打印输入的元组。
-
使用 负 索引来访问输入元组的最后一个元素(负索引始终从-1开始)。
-
使用负索引访问输入元组的倒数第二个元素(inputTuple[-1])。
代码
# 由字符串组成的元组
inputTuple = ("TutorialsPoint", "python", "sample", "codes")
# 打印元组
print("输入的元组:", inputTuple)
# 访问元组的最后一个元素
print("元组的最后一个元素:", inputTuple[-1])
# 访问元组的倒数第二个元素
print("元组的倒数第二个元素:", inputTuple[-2])
输出
输入的元组:('TutorialsPoint', 'python', 'sample', 'codes')
元组的最后一个元素:codes
元组的倒数第二个元素:sample
更新/删除元组元素
元组是不可变的,即元组的项目不能更改。因此,一旦创建了元组,任何试图更改其项目的操作都会受到限制。
下面的程序尝试更新/修改输入元组的元素,但会引发错误,因为元组是不可变的-
# 由字符串组成的元组
inputTuple = ("TutorialsPoint", "python", "sample", "codes")
# 将 inputTuple 中索引为 1 的元素(python)更改为“Java”
# 由于元组不可变(元组项目不能更改),因此会引发类型错误
inputTuple[1] = 'Java'
输出
TypeError Traceback (most recent call last)
<ipython-input-6-92f3425fb83d> in <module>
4 # changing the 1st index element of the input tuple(python) to 'Java'
5 # It raises a TypeError since the tuple is immutable(tuple items cannot be changed)
----> 6 inputTuple[1] = 'Java'
TypeError: 'tuple' object does not support item assignment
以下程序试图 删除 输入元组的元素,但会引发错误,因为元组是不可变的 –
# 由字符串组成的元组
inputTuple = ("TutorialsPoint", "python", "sample", "codes")
# 删除输入元组(python)的第一个索引元素
# 由于元组是不可变的(元组项不可更改),所以会引发TypeError
del inputTuple[1]
输出
TypeError Traceback (most recent call last)
<ipython-input-7-924b49eaac45> in <module>
4 # deleting the 1st index element of the input tuple(python)
5 # It raises a TypeError since the tuple is immutable(tuple items cannot be changed)
----> 6 del inputTuple[1]
TypeError: 'tuple' object doesn't support item deletion
结论
本文演示了如何使用四个不同的例子创建元组。我们还学习了如何使用索引访问元组元素。我们学习了如何使用负数索引从末尾访问元组元素。我们演示了元组在更新或删除元素时如何抛出错误。