Python基础数据类型——tuple浅析

251 阅读3分钟

Python中tuple的使用

一、什么是元组?

有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。

二、用法

1. tuple元组的定义

Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。示例如下:

tup1 = ('361way', 'com', 1997, 2000)print(type(tup1))tup2 = (1, 2, 3, 4, 5)tup3 = "a", "b", "c", "d"print(type(tup3))
![Python基础数据类型——tuple浅析](https://p3-tt.byteimg.com/origin/pgc-image/609d2749cbc74ae9b210b82469e33e6f?from=pc)

这里通过tup3可以看出,其并没有用小括号进行包括,但其也是元组。所以需要记住:任意无符号的对象,以逗号隔开,默认为元组 。另外需要特别注意只有一个元素时元组的创建:

tup1 = (111)print(type(tup1))tup1 = ("abc")print(type(tup1))tup1 = ("abc",)print(type(tup1))
![Python基础数据类型——tuple浅析](https://p3-tt.byteimg.com/origin/pgc-image/8028c4e6d1fe410388a7c5c2dfd186c0?from=pc)

元组中只包含一个元素时,需要在元素后面添加逗号,否则就会是int 或 string 等其他数据类型。如果只是创建一个空元组时,则不受逗号的影响:

tup1 = ()print(type(tup1))
![Python基础数据类型——tuple浅析](https://p1-tt.byteimg.com/origin/pgc-image/39d231d92f1a45f9a5778ae4991d0f48?from=pc)

2. 元组的索引与切片

同字符串、列表类型一样,元组也支持索引与切片 。而且用法也相同,

下面结合示例查看下:

tup1 = ('361way', 'com', 2013, 2014)print(tup1[0])print(tup1[4]) #取值超出其索引范围时报错tup2 = (1, 2, 3, 4, 5, 6, 7)print(tup2[1:5])

由上面的结果可以看出,取出元组的单个元素数据时,得到的是该数据原来的类型 ; 取出其一段元素值时得到的仍是元组。

![Python基础数据类型——tuple浅析](https://p1-tt.byteimg.com/origin/pgc-image/9450ace776eb4667a17499f6275129c3?from=pc)

3. 修改元组的值

元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组,如下实例:

tup1 = ('361way', 'com', 2013, 2014)del tup1[3]  # 删除单个元素,报错tup1[3] = 'abc'  # 更改一个元素的值,报错print(tup1[3])del tup1  # 删除整个元组,正常print(tup1)
![Python基础数据类型——tuple浅析](https://p1-tt.byteimg.com/origin/pgc-image/bf6b3c7345394b58946a99c0fdf188af?from=pc)

在实际应用中,有时候会遇到需要修改元组的值,那怎么办呢?可以通过一个变通的方法实现。

示例如下:

tup1 = ('361way', 'com', 2013, 2014)list1 = list(tup1)print(list1)list1[3] = 'change'print(list1)tup1 = tuple(list1)print(tup1)
![Python基础数据类型——tuple浅析](https://p1-tt.byteimg.com/origin/pgc-image/0cfd817978454342baecb819e87fa314?from=pc)

可以将tuple元组的值先通过list转化为列表,再对列表内的值进行修改,修改为再将list转化为tuple 。

不过这里需要注意的是此时的tup1已经非彼tup1,具体可以通过id函数进行查看,发现其内存地址已经发生了变化。

三、总结

本文基于Python基础,主要介绍了Python基础中tuple元组的使用,对于tuple的用法做了详细的讲解,用丰富的案例 ,代码效果图的展示帮助大家更好理解 。

tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。

最后,希望可以帮助大家更好的学习Python。

想学习更多Python网络爬虫与数据挖掘知识,可前往专业网站:pdcfighting.com/