Python元组介绍及其操作函数详解

本文概述

  • 例子
  • 例子2
  • 元组索引和拆分
  • 元组基本操作
  • Python Tuple内置函数
  • 在哪里使用元组
  • 列表VS元组
  • 嵌套列表和元组
Python Tuple用于存储不可变的python对象的序列。元组与列表类似, 因为可以更改存储在列表中的项目的值, 而元组是不可变的, 并且不能更改存储在元组中的项目的值。
元组可以写成用小括号括起来的逗号分隔值的集合。元组可以定义如下。
T1 = (101, "Ayush", 22) T2 = ("Apple", "Banana", "Orange")

例子
tuple1 = (10, 20, 30, 40, 50, 60) print(tuple1) count = 0 for i in tuple1: print("tuple1[%d] = %d"%(count, i));

输出
(10, 20, 30, 40, 50, 60) tuple1[0] = 10 tuple1[0] = 20 tuple1[0] = 30 tuple1[0] = 40 tuple1[0] = 50 tuple1[0] = 60

例子2
tuple1 = tuple(input("Enter the tuple elements ...")) print(tuple1) count = 0 for i in tuple1: print("tuple1[%d] = %s"%(count, i));

输出
Enter the tuple elements ...12345 ('1', '2', '3', '4', '5') tuple1[0] = 1 tuple1[0] = 2 tuple1[0] = 3 tuple1[0] = 4 tuple1[0] = 5

但是, 如果我们尝试重新分配元组的项目, 则由于元组对象不支持项目分配, 我们将收到错误消息。
空元组可以编写如下。
T3 = ()

具有单个值的元组必须包含一个逗号, 如下所示。
T4 = (90, )

元组与列表的索引方式相同。可以使用它们的特定索引值访问元组中的项目。
在本教程的这一部分中, 我们将看到元组的所有这些方面。
元组索引和拆分 元组中的索引和切片类似于列表。元组中的索引从0开始, 到length(tuple)-1。
可以使用slice运算符访问元组中的项目。 Python还允许我们使用冒号运算符访问元组中的多个项目。
考虑下图以详细了解索引和切片。
Python元组介绍及其操作函数详解

文章图片
【Python元组介绍及其操作函数详解】与列表不同, 由于元组是不可变的, 因此不能使用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

像列表一样, 元组元素可以在两个方向上访问。可以使用索引-1访问元组的最右边元素(最后一个)。使用负索引从左到右遍历元素。
考虑以下示例。
tuple1 = (1, 2, 3, 4, 5) print(tuple1[-1]) print(tuple1[-4])

输出
5 2

元组基本操作 串联(+), 重复(*), 成员资格(in)等运算符的工作方式与使用列表相同。请考虑下表以获取更多详细信息。
假设声明了元组t =(1、2、3、4、5)和元组t1 =(6、7、8、9)。
Operator Description Example
Repetition 重复运算符使元组元素可以重复多次。 T1 * 2 =(1、2、3、4、5、1、2、3、4、5)
Concatenation 它连接运算符两侧提到的元组。 T1 + T2 =(1、2、3、4、5、6、7、8、9)
Membership 如果元组中存在特定项, 则返回true, 否则返回false。 打印(T1中的2)打印True。
Iteration for循环用于遍历元组元素。 对于T1中的我:         print(i)输出1 2 3 4 5
Length 它用于获取元组的长度。 仅(T1)= 5
Python Tuple内置函数
SN Function Description
1 cmp(元组1, 元组2) 它比较两个元组, 如果tuple1大于tuple2, 则返回true, 否则返回false。
2 len(tuple) 它计算元组的长度。
3 max(tuple) 它返回元组的最大元素。
4 min(tuple) 它返回元组的最小元素。
5 tuple(seq) 它将指定的序列转换为元组。
在哪里使用元组 在以下情况下, 使用元组代替列表。
1.使用元组而不是列表可以使我们清楚地知道元组数据是恒定的, 不能更改。
2.元组可以模拟没有键的字典。考虑以下可用作字典的嵌套结构。
[(101, "John", 22), (102, "Mike", 28), (103, "Dustin", 30)]

3.由于元组具有不变性, 因此可以用作字典中的键。
列表VS元组
SN List Tuple
1 list的字面语法由[]显示。 ()显示元组的文字语法。
2 该列表是可变的。 元组是不可变的。
3 列表的长度可变。 元组具有固定的长度。
4 该列表提供了比元组更多的功能。 元组提供的功能少于列表。
5 该列表用于我们需要存储不受限制的简单集合的情况下, 可以更改项目的值。 在需要存储只读集合的??情况下使用元组, 即, 不能更改项目的值。它可以用作字典中的键。
嵌套列表和元组 我们可以将列表存储在元组中, 也可以将列表中的元组存储到任意级别。
让我们看一个如何将元组存储在列表中的示例。
Employees = [(101, "Ayush", 22), (102, "john", 29), (103, "james", 45), (104, "Ben", 34)] print("----Printing list----"); for i in Employees: print(i) Employees[0] = (110, "David", 22) print(); print("----Printing list after modification----"); for i in Employees: print(i)

输出
----Printing list---- (101, 'Ayush', 22) (102, 'john', 29) (103, 'james', 45) (104, 'Ben', 34)----Printing list after modification----(110, 'David', 22) (102, 'john', 29) (103, 'james', 45) (104, 'Ben', 34)

    推荐阅读