您的“关注”和“点赞”,是信任,是承认,是支持,是动力......python
如意见相佐,可留言。
本人必将不遗余力试图作到准确和全面,终其一辈子进行修改补充更新。微信
元组是由一系列按特定顺序排序的元素组成的序列结构。函数
元组的全部元素都放在一对小括号( )
(小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组)中,相邻元素之间用逗号,
分隔(一般还会在逗号后加一个空格),能够存储数字、字符串、列表、元组等任何类型的数据,而且在同一个元组中,元素的类型能够不一样,元素的个数没有限制。.net
举例以下所示:code
("https://blog.csdn.net/manongajie", 100, [1, '码农阿杰'], ("abc", 13.0))
元组,在 Python 中用 tuple
表示。对象
一般状况下,元组用于储存异构数据的多项集(例如:由 enumerate()
内置函数所产生的二元组)。 元组也被用于须要同构数据的不可变序列的状况(例如:容许存储到 set
或 dict
的实例)。简单理解,元组用于保存无需修改的内容。blog
经过 type()
函数能够查看元组的类型,以下所示:排序
>>> type(("https://blog.csdn.net/manongajie", 100, [1, '码农阿杰'], ("abc", 13.0))) <class 'tuple'>
()
直接建立元组使用格式以下所示:索引
tuplename = (element1, element2, ..., elementn) tuplename1 = () # 空元组
对以上格式说明,图片
tuplename
:变量名(元组名称)。建立好元组后,一般会将元组赋值给一个变量,便于后面的再次使用。element1 ~ elementn
:表示元组的元素。( )
中,可是,小括号不是必须的,只要将各元素用逗号隔开,Python 就会将其视为元组。,
,不然 Python 解释器会将它视为字符串。举例以下所示:
例一,
tuple_demo1 = (1, 3, 5, 2, 4, 6) tuple_demo2 = ('https://blog.csdn.net/manongajie', '码农阿杰', 'https://www.cnblogs.com/manongajie/') print(type(tuple_demo1)) # 查看元组类型,并打印到控制台 print(type(tuple_demo2)) # 查看元组类型,并打印到控制台
运行结果:
<class 'tuple'> <class 'tuple'>
例二,
tuple_demo1 = ('微信公众号', ':', '码农阿杰') # 带小括号的元组 tuple_demo2 = '微信公众号', ':', '码农阿杰' # 不带小括号的元组 print(type(tuple_demo1)) print(type(tuple_demo2))
运行结果:
<class 'tuple'> <class 'tuple'>
例三,
tuple_demo1 = ('微信公众号') # 若是建立的元组中只有一个字符串类型的元素时,该元素后面必需要加一个逗号`,`,不然 Python 解释器会将它视为字符串。 tuple_demo2 = ('微信公众号',) # 若是建立的元组中只有一个字符串类型的元素时,该元素后面必需要加一个逗号`,`,不然 Python 解释器会将它视为字符串。 print(type(tuple_demo1)) print(type(tuple_demo2))
运行结果:
<class 'str'> <class 'tuple'>
tuple()
函数建立元组使用 tuple()
内置函数建立元组,其实就是将其它数据类型转换为元组类型。
使用格式以下所示:
tuple(data)
对以上格式说明,
tuple()
:tuple() 内置函数能够将其它数据类型转换为元组类型。data
:表示能够转化为元组的数据(字符串、元组、range 对象等)。举例以下所示:
str_demo = '码农阿杰' # 字符串 list_demo = [1, 2, 3, 4, 5] # 列表 range_demo = range(1, 7) # range 区间 print(tuple(str_demo)) # 将字符串转换为元组 print(tuple(list_demo)) # 将列表转换为元组 print(tuple(range_demo)) # 将 range 区间转换为元组 print(tuple()) # 空元组
运行结果:
('码', '农', '阿', '杰') (1, 2, 3, 4, 5) (1, 2, 3, 4, 5, 6) ()
使用索引访问元组元素的格式为:
tuplename[index]
对以上格式说明,
tuplename
:表示元组名字。index
:表示索引值。能够是正数,也能够是负数。tuplename[index]
:获得的是一个元素的值。举例以下所示:
tuple_demo = ('微信公众号:', '码农阿杰') print(tuple_demo[1]) # 打印出索引值为 1 的元素值
运行结果:
码农阿杰
使用切片访问元组元素的格式为:
tuplename[start : end : step]
对以上格式说明,
tuplename
:表示元组名字。start
:表示起始索引。能够是正数,也能够是负数。end
:表示结束索引。能够是正数,也能够是负数。step
:表示步长。能够不写步长,默认值为 1 。tuplename[start : end : step]
:获得的是一个新的子元组。举例以下所示:
tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8) print(tuple_demo[1: 6]) print(tuple_demo[0: 7: 2])
运行结果:
(2, 3, 4, 5, 6) (1, 3, 5, 7)
替换法修改元组,指的是建立一个新的元组去替代旧的元组。由于元组是不可变序列,元组中的元素不能被修改。
举例以下所示:
tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8) print('修改前 tuple_demo =', tuple_demo) print('修改前 tuple_demo 元组 id:', id(tuple_demo)) # id()函数返回值为内存地址的惟一标识 tuple_demo = ('微信公众号', ':', '码农阿杰') # 修改元组,即对元组变量进行从新赋值 print('修改后 tuple_demo =', tuple_demo) print('修改后 tuple_demo 元组 id:', id(tuple_demo))
运行结果:
修改前 tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8) 修改前 tuple_demo 元组 id: 2299227267248 修改后 tuple_demo = ('微信公众号', ':', '码农阿杰') 修改后 tuple_demo 元组 id: 2299227317120
从 id
标识能够看出(id 不一样),修改后与修改前不是同一个元组。
拼接法修改元组,指的是经过链接多个元组,使用+
加法运算符拼接元组的方式向元组中添加新元素。
举例以下所示:
tuple_demo1 = (1, 2, 3) tuple_demo2 = (6, 7, 8) tuple_demo3 = tuple_demo1 + tuple_demo2 # 使用 + 加法运算符拼接元组 print('修改前 tuple_demo1 =', tuple_demo1) print('修改前 tuple_demo2 =', tuple_demo2) print('修改前 tuple_demo1 元组 id:', id(tuple_demo1)) print('修改前 tuple_demo2 元组 id:', id(tuple_demo2)) print('-----------------------------------------') print('拼接后 tuple_demo3 =', tuple_demo3) print('拼接后 tuple_demo3 id 为:', id(tuple_demo3))
运行结果:
修改前 tuple_demo1 = (1, 2, 3) 修改前 tuple_demo2 = (6, 7, 8) 修改前 tuple_demo1 元组 id: 2506328220544 修改前 tuple_demo2 元组 id: 2506328429952 ----------------------------------------- 拼接后 tuple_demo3 = (1, 2, 3, 6, 7, 8) 拼接后 tuple_demo3 id 为: 2506298941248
从 id
标识能够看出(id 不一样),使用+
拼接元组之后,生成的是一个新的元组。
Python 自带垃圾回收功能,会自动销毁不用的元组,因此通常不须要经过 del
关键字来手动删除。
手动删除不用的元组,举例以下所示:
tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8) print('删除前 tuple_demo =', tuple_demo) del tuple_demo # 使用 del 关键字删除元组 print('删除后 tuple_demo =', tuple_demo)
运行结果:
删除前 tuple_demo = (1, 2, 3, 4, 5, 6, 7, 8) Traceback (most recent call last): File "D:/Data/ProfessionalSkills/Python/PycharmProjects/demo/demo.py", line 135, in <module> print('删除后 tuple_demo =', tuple_demo) NameError: name 'tuple_demo' is not defined