Python数据结构:元组(tuple)


元组(tuple)

元组的定义

元组是不可变的序列,它具有大部分列表的特点,但是又缺少了列表中对元素进行添加、删除、修改的功能。

元组的创建

1.使用圆括号()创建元组,示例如下:

>>> t1 = () # 创建空元组
>>> print(t1)
()

>>> t2 = ('a',) # 仅有一个元素时需要加逗号
>>> print(t2)
('a',)

>>> t3 = ('a') # 仅有一个元素时不加逗号,无法创建元组
>>> print(t3)
a
>>> print(type(t3))
<class 'str'>

2.使用tuple()函数将其他类型的对象转为元组,示例如下:

>>> s1 = 'python'
>>> t1 = tuple(s1) # 使用tuple()方法将字符串转换为元组
>>> print(t1)
('p', 'y', 't', 'h', 'o', 'n')
>>> print(type(t1))
<class 'tuple'>

>>> t2 = tuple(x+3 for x in range(5)) # 用解析结构创建元组
>>> print(t2)
(3, 4, 5, 6, 7)

元组元素获取

元组中的对象可以通过位置进行索引和切片,同列表。示例代码如下:

>>> t1 = ('p', 'y', 't', 'h', 'o', 'n')
>>> print(t1[2]) # 获取索引位置2的对象
t

>>> print(t1[2:5]) # 元组切片生成一个新的元组
('t', 'h', 'o')

元组的循环遍历

元组是可迭代对象,能够使用for循环对元组的对象进行循环遍历,可以从左至右正向循环,也可以从右至左反向循环,操作方式同列表,示例代码如下:

1.从左到右正向循环:

>>> t1 = ('a', 'b', 'c','d')
>>> for item in t1:
... 	print(item)
a
b
c
d

2.使用range()方法进行正向循环:

>>> t1 = ('a', 'b', 'c','d')
>>> for i in range(len(t1)): # i分别为0 1 2 3 4 5 6 
... 	print(t1[i]) 
a
b
c
d

3.使用range()方法进行反向循环:

# 使用range()方法构造数列:6 5 4 3 2 1 0 
>>> t1 = ('a', 'b', 'c', 1, 1, 3, 2)
>>> for i in range(len(t1)-1, -1, -1):
... 	print(t1[i])
d
c
b
a
# 使用range()方法构造数列:-1 -2 -3 -4 -5 -6 -7
>>> t1 = ('a', 'b', 'c', 1, 1, 3, 2)
>>> for i in range(-1, -len(t1)-1, -1):
... 	print(t1[i])
d
c
b
a

元组的运算符操作

元组的运算操作符和列表的相似,使用’+‘号用于元组拼接,使用’*'号用于元组重复,示例代码如下:

扫描二维码关注公众号,回复: 13838291 查看本文章
# '+'号用于拼接
>>> t1 = ('a','b','c','d')
>>> t2 = ('e','f','g','h')
>>> t3 = t1 + t2
>>> print(t3)
('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h')

# '*'号用于重复
>>> t4 = t1 * 2
>>> print(t4)
('a', 'b', 'c', 'd', 'a', 'b', 'c', 'd')

使用in和not in 判断元素是否在元组中,示例代码如下:

>>> t1 = ('a','b','c','d')
>>> print('a' in t1)
True
>>> print('b' not in t1)
False

元组的函数

元组中提供了一些方法,下面介绍一些常用方法:

1.统计元素出现的次数

count()方法用于统计某个元素在元组中出现的次数,语法如下:

tuple.count(obj)

参数:

  • obj – 元组中统计的对象

返回值:返回元素在元组中出现的次数。

示例代码如下:

>>> t1 = ('a','b','c','d','a')
>>> print(t1.count('a'))
2

2.查找元素索引位置

index()方法可以找出某个元素第一次匹配项的索引位置,语法如下:

tuple.index(x[, start[, end]])

参数:

  • x-- 查找的对象。
  • start-- 可选,查找的起始位置。
  • end-- 可选,查找的结束位置。

返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。

示例代码如下:

>>> t1 = ('a','b','c','d','a')
>>> print(t1.index('a'))
0

猜你喜欢

转载自blog.csdn.net/shield911/article/details/124072610