Python Tuple用于存储不可变的Python对象的序列。元组与列表相似,因为可以更改存储在列表中的项目的值,而元组是不可变的,并且不能更改存储在元组中的项目的值。
元组可以写成用小括号()括起来的逗号分隔(,)值的集合。括号是可选的,但是使用是一种很好的做法。元组可以定义如下。
T1 = (101, "Peter", 22) T2 = ("Apple", "Banana", "Orange") T3 = 10,20,30,40,50 print(type(T1)) print(type(T2)) print(type(T3))
输出:
<class 'tuple'> <class 'tuple'> <class 'tuple'>
可以如下创建一个空的元组。
T4 = ()
创建一个元组与单个元素略有不同。无涯教程需要在元素后面加上逗号以声明元组。
输出:
<class 'str'> <class 'tuple'>
元组的索引方式与列表相同。元组中的项目可以通过使用其特定的索引值进行访问。
考虑下面的元组示例:
链接:https://www.learnfk.comhttps://www.learnfk.com/python3/python-tuples.html
来源:LearnFk无涯教程网
tuple1 = (10, 20, 30, 40, 50, 60) print(tuple1) count = 0 for i in tuple1: print("tuple1[%d] = %d"%(count, i)) count = count+1
输出:
(10, 20, 30, 40, 50, 60) tuple1[0] = 10 tuple1[1] = 20 tuple1[2] = 30 tuple1[3] = 40 tuple1[4] = 50 tuple1[5] = 60
tuple1 = tuple(input("Enter the tuple elements ...")) print(tuple1) count = 0 for i in tuple1: print("tuple1[%d] = %s"%(count, i)) count = count+1
输出:
Enter the tuple elements ...123456 ('1', '2', '3', '4', '5', '6') tuple1[0] = 1 tuple1[1] = 2 tuple1[2] = 3 tuple1[3] = 4 tuple1[4] = 5 tuple1[5] = 6
元组的索引方式与列表相同。元组中的项目可以通过使用其特定的索引值进行访问。
元组中的索引和切片类似于列表。元组中的索引从0开始,到length(tuple)-1。
可以使用index []运算符访问元组中的项目。 Python还允许无涯教程使用冒号运算符访问元组中的多个项目。
考虑下图以了解详细的索引编制和切片。
考虑以下示例:
tup = (1,2,3,4,5,6,7) print(tup[0]) print(tup[1]) print(tup[2]) # It will give the IndexError print(tup[8])
输出:
1 2 3 tuple index out of range
在上面的代码中,元组有7个元素,表示0到6。无涯教程试图访问元组之外的引发 IndexError 的元素。
tuple = (1,2,3,4,5,6,7) #element 1 to end print(tuple[1:]) #element 0 to 3 element print(tuple[:4]) #element 1 to 4 element print(tuple[1:5]) # element 0 to 6 and take step of 2 print(tuple[0:6:2])
输出:
(2, 3, 4, 5, 6, 7) (1, 2, 3, 4) (1, 2, 3, 4) (1, 3, 5)
元组元素也可以通过使用负索引来访问。索引-1表示最右边的元素,索引-2表示倒数第二个元素,依此类推。
tuple1 = (1, 2, 3, 4, 5) print(tuple1[-1]) print(tuple1[-4]) print(tuple1[-3:-1]) print(tuple1[:-1]) print(tuple1[-2:])
输出:
5 2 (3, 4) (1, 2, 3, 4) (4, 5)
与列表不同,由于元组是不可变的,因此不能使用 del 关键字删除元组项。要删除整个元组,可以在元组名称中使用 del 关键字。
tuple1 = (1, 2, 3, 4, 5, 6) print(tuple1) del tuple1[0] print(tuple1) del tuple1 print(tuple1)
输出:
(1, 2, 3, 4, 5, 6) Traceback (most recent call last): File "tuple.py", line 4, in <module> print(tuple1) NameError: name 'tuple1' is not defined
串联(+),重复(*),成员资格(in)等运算符的工作方式与使用列表相同。请考虑下表以获取更多详细信息。
假设声明了元组t =(1、2、3、4、5)和元组t1 =(6、7、8、9)。
操作员 | 说明 | 示例 |
---|---|---|
* | 重复运算符使元组元素可以重复多次。 | T1 * 2 =(1、2、3、4、5、1、2、3、4、5) |
+ | 它连接运算符两侧提到的元组。 | T1 + T2 =(1、2、3、4、5、6、7、8、9) |
in | 如果元组中存在特定项,则返回true,否则返回false | print(2 in T2) #打印True。 |
loop | for循环用于遍历元组元素。 | for i in T1: print(i)输出 1 2 3 4 5 |
len | 用于获取元组的长度。 | len(T1)= 5 |
SN | 函数 | 说明 |
---|---|---|
1 | cmp(tuple1,tuple2) | 它比较两个元组,如果tuple1大于tuple2,则返回true,否则返回false。 |
2 | len(tuple) | 它计算元组的长度。 |
3 | max(tuple) | 它返回元组的最大元素 |
4 | min(tuple) | 它返回元组的最小元素。 |
5 | tuple(seq) | 它将指定的序列转换为元组。 |
在以下情况下,使用元组代替列表。
1.使用元组而不是列表可以使无涯教程清楚地知道元组数据是恒定的,不能更改。
2.元组可以模拟不带键的字典。考虑以下嵌套结构,可以将其用作字典。
[(101, "Learnfk", 22), (102, "Mike", 28), (103, "Dustin", 30)]
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)