Python tuple元组的用法(非常详细)
Python 中的元组(tuple)和列表相似,是由一系列特定顺序的元素组成的。
元组和列表的不同点在于列表的元素是可以更改的,用户可以修改、删除、插入列表元素。然而,用户一旦创建元组,就不可以更改元组元素了。因此,可以将元组看作不可变的列表。
基于元组元素不可变的特性,元组通常用于保存无须更改的内容。例如,元组可以保存身份证号码,身份证号码是不可改变的,非常适合使用元组进行保存。
使用元组的语法为:
例如先定义一个元组,再输出指定的元素:
Python提供了一个内置的函数 tuple(),该函数可将其他数据类型转换为元组,如将字符串、range 对象、字典等数据类型转换为元组。
下面修改一个元组:
下面举一个例子:
元组和列表的不同点在于列表的元素是可以更改的,用户可以修改、删除、插入列表元素。然而,用户一旦创建元组,就不可以更改元组元素了。因此,可以将元组看作不可变的列表。
基于元组元素不可变的特性,元组通常用于保存无须更改的内容。例如,元组可以保存身份证号码,身份证号码是不可改变的,非常适合使用元组进行保存。
使用元组的语法为:
(element1, element2, element3, ...)下面分别定义两个元组,并输出元组元素:
studentnumber = (20091680001, 20091680018, 20091680065, 20091680088) study = ('语文', '数学', '英语') print(studentnumber) print(study)运行结果为:
(20091680001, 20091680018, 20091680065, 20091680088)
('语文', '数学', '英语')
Python访问元组
在元组中,可使用索引访问元组的特定元素。例如先定义一个元组,再输出指定的元素:
studentnumber = (20091680001, 20091680018, 20091680065, 20091680088) print(studentnumber[0]) # 使用正数索引,访问第 1 个元素 print(studentnumber[-2]) # 使用负数索引,访问倒数第 2 个元素运行结果为:
20091680001
20091680065
Python元组转换
元组转换是指将字符串、列表、字典等转换为元组。Python提供了一个内置的函数 tuple(),该函数可将其他数据类型转换为元组,如将字符串、range 对象、字典等数据类型转换为元组。
1) 字符串转换为元组
下面分别将中文字符串和英文字符串转换为元组:study = tuple('语文') # 中文字符串转换为元组 name = tuple('cloudylin') # 英文字符串转换为元组 print(study) print(name)运行结果为:
('语', '文')
('c', 'l', 'o', 'u', 'd', 'y', 'l', 'i', 'n')
2) 列表转换为元组
先定义一个列表,然后将列表转换为元组,最后输出元组元素:study = ['Python', 'C++', 'photoshop'] newstudy = tuple(study) print(newstudy)运行结果为:
('Python', 'C++', 'photoshop')
由此可见,列表 ['Python', 'C++', 'photoshop'] 已转换为元组 ('Python', 'C++', 'photoshop')。Python修改元组
因为元组是不可变序列,元组中的元素不能被修改,所以只有一种方法可以修改元组,即创建一个新的元组去替换旧的元组,并替换所有元素。下面修改一个元组:
study = ('Python', 'C++', 'photoshop') print(study) study = ('Python', 'Java', 'linux') print(study)运行结果为:
('Python', 'C++', 'photoshop')
('Python', 'Java', 'linux')
Python拼接元组
拼接元组是指将多个元组连接在一起。例如:cloudy = (99, 98, 95) angel = (85, 92, 95) print(cloudy + angel)运行结果为:
(99, 98, 95, 85, 92, 95)
由此可见,符号“+”可以将两个元组拼接起来。Python删除元组
删除元组的基本语法为:del namename 是指元组的名称。
下面举一个例子:
cloudy = (99, 98, 95) del cloudy print(cloudy)运行结果为:
NameError: name 'cloudy' is not defined
运行程序,Python 解释器抛出一个 NameError 异常,因为它找不到名为 cloudy 的变量,说明已经成功删除元组 cloudy。