Python 中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字、字符、甚至可以是其他数据结构
在 Python 中,最基本的数据结构是序列(列表和元组),序列中的每个元素都有一个序号(元素的具体位置),这个序号叫索引,索引下标从0开始,以此类推…
- Python 的元组与列表类似,不同之处在于元组的元素不能修改。
- 元组使用小括号(),列表使用方括号[]。
1. 元组基本操作
1.1 创建元组
元组创建很简单,只需要在括号中添加元素(不需要括号也可以),并使用逗号隔开即可。
>>> 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'>
注意: 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用,如下:
>>> TupNum = (34)
>>> type(TupNum) # 不加逗号是整型
<class 'int'>
>>> TupNum = (34,)
>>> type(TupNum) # 加上逗号变元组
<class 'tuple'>
元组与字符串类似,下标索引从 0 开始,可以对元组进行截取,组合等操作。
1.2 访问元组
元组的访问和序列访问元素一样,都是通过下标索引进行访问操作
>>> 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.3 修改元组
元组中的值一旦定义就不能修改,但是我们可以通过元组与元组之间的连接关系来对元组进行修改,例如:
>>> 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 (不能进行此操作)
1.4 删除元组
由于元组的不可修改性,所以元组中的元素值是不允许删除的,但我们可以使用 del 语句来删除整个元组,如下实例:
#!/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
2 元组运算符
与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。总而言之对整个元组进行一些运算后就会生成一个新的元组。
2.1 元组求长度
元组求长度使用运算函数 len ,如下
# 求元组tup1的长度
>>> tup1 = ('baidu', 'google',1,2)
>>> len(tup1)
4
2.2 连接元组
两个甚至对个元组的连接使用 + 连接符,例如:
>>> tup1 = (1,2,3)
>>> tup2 = (4,5,6)
>>> tup3 = (7,8,9)
>>> tup1 + tup2 + tup3
(1, 2, 3, 4, 5, 6, 7, 8, 9)
2.3 复制元组
tup1 = ('abc')
# 元组复制需要加上分隔符后面复制的内容就按照分隔符分隔开
(tup1,) * 3
('abc', 'abc', 'abc')
2.4 判断元素
判断元组中元素是否存在使用关键字 in 进行判断,判断结果返回布尔值
>>> tup1
'abc'
>>> 'a' in tup1
True
2.5 元组中指定位置元素访问
和序列一样,元组中的元素同样可以使用索引号访问指定位置的元素,例如:
>>> content = ('hello','world','!')
>>> content
('hello', 'world', '!')
>>> content[1:]
('world', '!')
>>> content[:2]
('hello', 'world')
>>> content[-1]
'!'
>>> content[-2]
'world'
3 元组内置函数
和列表一样,元组同样也拥有一些内置函数,这些函数用于判元组中的元素大小以及将元组做相应的转换
#计算元组元素个数。
len(tuple)
#返回元组中元素最大值。
max(tuple)
#返回元组中元素最小值。
min(tuple)
#将列表转换为元组。
tuple(seq)
总结
本节介绍了 Python 数据结构之元组的操作与使用,同时也是自己在学习过程中的一个记录。