Python 中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字、字符、甚至可以是其他数据结构 在 Python 中,最基本的数据结构是序列(列表和元组),序列中的每个元素都有一个序号(元素的具体位置),这个序号叫索引,索引下标从 0 开始,以此类推……
元组创建很简单,只需要在括号中添加元素(不需要括号也可以),并使用逗号隔开即可。
1 2 3 4 5 6 7 8 9 10 11 12 |
>>> tup1 = ('baidu', 'google', 12, 34); >>> tup2 = (1, 2, 3, 4, 5 ); >>> tup3 = "a", "b", "c", "d"; # 创建空元组 >>> tup4 = () # 查看tup4和tup3的类型 >>> type(tup4) <class 'tuple'> >>> type(tup3) <class 'tuple'> |
==注意:== 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用,如下:
1 2 3 4 5 6 |
>>> TupNum = (34) >>> type(TupNum) # 不加逗号是整型 <class 'int'> >>> TupNum = (34,) >>> type(TupNum) # 加上逗号变元组 <class 'tuple'> |
元组与字符串类似,下标索引从 0 开始,可以对元组进行截取,组合等操作。
元组的访问和序列访问元素一样,都是通过下标索引进行访问操作
1 2 3 4 5 6 |
>>> tup1 = ('baidu', 'google',1,2) >>> tup2 = (1, 2, 3, 4, 5, 6, 7) >>> tup1[0:2] ('baidu', 'google') >>> tup2[1:4] (2, 3, 4) |
元组中的值一旦定义就不能修改,但是我们可以通过元组与元组之间的连接关系来对元组进行修改,例如:
1 2 3 4 |
>>> tup1 = ('baidu', 'google',1,2) >>> tup2 = (1, 2, 3, 4, 5, 6, 7) >>> tup1 + tup2 ('baidu', 'google', 1, 2, 1, 2, 3, 4, 5, 6, 7) |
==注意:== 以下修改元组属于非法操作,因为元组不支持通过索引列来修改,只能对元组进行复制和连接操作
==tup1[0] = 100== (不能进行此操作)
由于元组的不可修改性,所以元组中的元素值是不允许删除的,但我们可以使用 del 语句来删除整个元组,如下实例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/usr/bin/python3 tup1 = ('baidu', 'google',1,2) print (tup) del tup; print ("删除后的元组 tup : ") print (tup) # 报错信息如下,证明整个元组已经被删除 删除后的元组 tup1 : Traceback (most recent call last): File "tupple.py", line 29, in <module> print(tup1) NameError: name 'tup1' is not defined |
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。总而言之对整个元组进行一些运算后就会生成一个新的元组。
元组求长度使用运算函数 len ,如下
1 2 3 4 |
# 求元组tup1的长度 >>> tup1 = ('baidu', 'google',1,2) >>> len(tup1) 4 |
两个甚至对个元组的连接使用 + 连接符,例如:
1 2 3 4 5 |
>>> tup1 = (1,2,3) >>> tup2 = (4,5,6) >>> tup3 = (7,8,9) >>> tup1 + tup2 + tup3 (1, 2, 3, 4, 5, 6, 7, 8, 9) |
1 2 3 4 |
tup1 = ('abc') # 元组复制需要加上分隔符后面复制的内容就按照分隔符分隔开 (tup1,) * 3 ('abc', 'abc', 'abc') |
判断元组中元素是否存在使用关键字 in 进行判断,判断结果返回布尔值
1 2 3 4 |
>>> tup1 'abc' >>> 'a' in tup1 True |
和序列一样,元组中的元素同样可以使用索引号访问指定位置的元素,例如:
1 2 3 4 5 6 7 8 9 10 11 |
>>> content = ('hello','world','!') >>> content ('hello', 'world', '!') >>> content[1:] ('world', '!') >>> content[:2] ('hello', 'world') >>> content[-1] '!' >>> content[-2] 'world' |
和列表一样,元组同样也拥有一些内置函数,这些函数用于判元组中的元素大小以及将元组做相应的转换
1 2 3 4 5 6 7 8 9 10 11 |
#计算元组元素个数。 len(tuple) #返回元组中元素最大值。 max(tuple) #返回元组中元素最小值。 min(tuple) #将列表转换为元组。 tuple(seq) |
本节给大家介绍了 Python 数据结构之元组的操作与使用,对 Python 工程师使用列表提供了支撑。
from:http://www.ityouknow.com/python/2019/09/09/python-tupple-009.html