Python3 - Tuples(元组)

Python3 - Tuples(元组) 首页 / Python3入门教程 / Python3 - Tuples(元组)

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 = ()

创建一个元组与单个元素略有不同。无涯教程需要在元素后面加上逗号以声明元组。

tup1 = ("Learnfk")
print(type(tup1))

tup2 = ("Learnfk",)
print(type(tup2))

输出:

<class 'str'>
<class 'tuple'>

元组的索引方式与列表相同。元组中的项目可以通过使用其特定的索引值进行访问。

考虑下面的元组示例:

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
示例-2
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还允许无涯教程使用冒号运算符访问元组中的多个项目。

考虑下图以了解详细的索引编制和切片。

Python Tuple

考虑以下示例:

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)它返回元组的最小元素。
5tuple(seq)它将指定的序列转换为元组。

使用元组

在以下情况下,使用元组代替列表。

1.使用元组而不是列表可以使无涯教程清楚地知道元组数据是恒定的,不能更改。

2.元组可以模拟不带键的字典。考虑以下嵌套结构,可以将其用作字典。

[(101, "Learnfk", 22), (102, "Mike", 28),  (103, "Dustin", 30)]

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

软件工程之美 -〔宝玉〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

零基础实战机器学习 -〔黄佳〕

手把手带你写一个Web框架 -〔叶剑峰〕

李智慧 · 高并发架构实战课 -〔李智慧〕

大厂广告产品心法 -〔郭谊〕

超级访谈:对话毕玄 -〔毕玄〕

结构学习力 -〔李忠秋〕

超级访谈:对话道哥 -〔吴翰清(道哥)〕

好记忆不如烂笔头。留下您的足迹吧 :)