个性化阅读
专注于IT技术分析

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

本文概述

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元组

与列表不同, 由于元组是不可变的, 因此不能使用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)
赞(0) 打赏
未经允许不得转载:srcmini » Python元组介绍及其操作函数详解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏