Python 元组

Python 创建元组

在 Python 中,元组是一种跟 “列表” 非常相似的数据类型。我们都知道,列表是使用中括号 “[]” 创建的,而元组是使用小括号 “()” 创建的。

语法:

tuplename = (value1, value2, …, valueN)

说明:

创建元组,用小括号括起来一堆数据就可以了,数据之间用英文逗号 “,” 隔开。元组跟列表非常相似,两者的很多操作都是相同的,但是它们之间也有着本质上的区别(也是两者唯一的区别):元组的元素不能修改,而列表的元素可以修改。或者,我们可以把元组看成是一种特殊的列表。

注意: 请不要使用 “tuple” 作为元组名,因为它会跟 Python 内置的 tuple() 函数冲突,可能会导致一些难以发现的问题。

Python 元组示例

接下来,我们通过几个简单例子看看元组的特点,然后在下一节再去介绍元组的基本操作。

示例 1:判断元组类型

lst = [1, 2, 3]
tup = (1, 2, 3)

print(type(lst))
print(type(tup))

运行结果如下。

<class 'list'>
<class 'tuple'>

分析:

type() 函数用于获取一个对象的类型。从结果可以看出,列表的类型为 “list”,而元组的类型为 “tuple”,两者是完全不同的数据类型。

示例 2:不能修改元组

animals = ('ant', 'bee', 'cat', 'dog', 'ewe')
print(animals[2])

animals[2] = 'purple'
print(animals[2])

运行结果如下。

cat
(报错)TypeError: 'tuple' object does not support item assignment

分析:

在上面的示例中,我们可以使用下标的方式来获取元组中某一个元素。但元组一旦定义,内部的元素便不可以修改了,如果修改就会报错,这一点跟列表不一样。

示例 3:定义一个空元组

tup = ()
print(type(tup))

运行结果如下。

<class 'tuple'>

分析:

在 Python 中,我们可以使用小括号 “()” 定义一个空元组。

示例 4:定义只有一个元素的元组

a = (123)
b = (123,)

print(type(a))
print(type(b))

运行结果如下。

<class 'int'>
<class 'tuple'>

分析:

要知道,小括号 “()” 除了在数学中具有运算的意义,在 Python 中还可以用于定义元组。为了避免歧义,如果想要定义只有一个元素的元组,必须在元素后加上一个英文逗号 “,”。

Python 元组方法

Python 为元组提供了 2 个常用的方法,如下表所示。

元组的方法
方法 说明
index() 获取元素下标
count() 获取元素个数

示例 5:获取元组元素下标

animals = ('ant', 'bee', 'cat', 'dog', 'ewe')
print(animals.index('dog'))

运行结果如下。

3

示例 6:获取元组元素个数

nums = (2, 1, 2, 3, 4, 2, 5)
print(nums.count(2))

运行结果如下。

3

元组的打包与解包

在 Python 中,元组还有一个非常强大且常用的特性,那就是 “打包” 与 “解包”。

示例 7:元组解包

user_info = ("Tom", 21, "Male")
name, age, gender = user_info
print(name)
print(age)

运行结果如下。

Tom
21

分析:

当我们将一个元组赋值给多个变量时,Python 会自动将元组中的元素一一对应地赋值给这些变量,这个过程被称为 “解包”(Unpacking)。需要注意的是,等号左边变量的数量必须与右侧元组中元素的数量完全一致。

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号