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)。需要注意的是,等号左边变量的数量必须与右侧元组中元素的数量完全一致。
