Python 元组声明的语法是什么?
Python 提供各种数据结构集合,例如列表、元组、集合和字典。但是,这些元组与列表非常相似。由于列表是一种常用的数据结构,开发人员经常会误解元组与列表的不同之处。
Python 元组与列表一样,都是任何数据类型的项目的集合,但元组是不可变的,这意味着一旦赋值,我们就不能更改元组的元素或元组本身,而列表元素是可变的。
在本文中,我们将向您解释 Python 中的元组及其各种操作。
创建元组
元组只有在赋值时才能创建,因此将所有项目放在括号内,用逗号分隔,将创建一个元组。
示例 1
# tuple consisting of strings demoTuple_1 = ("TutorialsPoint", "python", "codes") print("demoTuple_1:", demoTuple_1)
输出
执行上述程序后,将生成以下输出:
demoTuple_1: ('TutorialsPoint', 'python', 'codes')
示例 2
# tuple consisting of integer, float number, string demoTuple_2 = (25, 6.8, "TutorialsPoint") print("demoTuple_2:", demoTuple_2)
输出
执行上述程序后,将生成以下输出:
demoTuple_2: (25, 6.8, 'TutorialsPoint')
示例 3
# tuple consisting of string & list demoTuple_3 = ("Welcome", [5, 8, 11]) print("demoTuple_3:", demoTuple_3)
输出
demoTuple_3: ('Welcome', [5, 8, 11]).
示例 4
# nested tuple(one tuple inside another tuple) 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])。
代码
# tuple consisting of strings inputTuple = ("TutorialsPoint", "python", "sample", "codes") # printing tuple print("Input Tuple: ", inputTuple) # accessing the first element of the tuple print("first element of tuple: ", inputTuple[0]) # accessing the fourth element of the tuple print("fourth element of tuple: ", inputTuple[3])
输出
Input Tuple: ('TutorialsPoint', 'python', 'sample', 'codes') first element of tuple: TutorialsPoint fourth element of tuple: codes
使用负索引访问元组元素
负索引,就像列表和字符串索引一样,可以用来从末尾访问元组元素。
-1 访问最后一个元素,-2 访问倒数第二个元素,依此类推。
算法(步骤)
以下是执行所需任务的算法/步骤:
创建一个变量来存储输入元组。
打印输入元组。
使用**负**索引访问输入元组的最后一个元素(负元组索引始终从 -1 开始)。
使用负索引访问输入元组的倒数第二个元素 (inputTuple[-1])。
代码
# tuple consisting of strings inputTuple = ("TutorialsPoint", "python", "sample", "codes") # printing tuple print("Input Tuple: ", inputTuple) # accessing the last element of the tuple print("last element of tuple: ", inputTuple[-1]) # accessing the last second element of the tuple print("last second element of tuple: ", inputTuple[-2])
输出
Input Tuple: ('TutorialsPoint', 'python', 'sample', 'codes') last element of tuple: codes last second element of tuple: sample
更新/删除元组元素
元组是不可变的,即元组的项目不能更改。因此,一旦创建了元组,任何尝试更改其项目的运算都会受到限制。
以下程序尝试更新/修改输入元组的元素,但由于元组是不可变的,因此会引发错误:
# tuple consisting of strings inputTuple = ("TutorialsPoint", "python", "sample", "codes") # changing the 1st index element of the input tuple(python) to 'Java' # It raises a TypeError since the tuple is immutable(tuple items cannot be changed) 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
以下程序尝试**删除**输入元组的元素,但由于元组是不可变的,因此会引发错误:
# tuple consisting of strings inputTuple = ("TutorialsPoint", "python", "sample", "codes") # deleting the 1st index element of the input tuple(python) # It raises a TypeError since the tuple is immutable(tuple items cannot be changed) 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
结论
本文演示了如何使用四个不同的示例创建元组。我们还学习了如何使用索引访问元组元素。我们学习了如何使用负索引从末尾访问元组元素。我们演示了元组在更新或删除元素时如何引发错误。