文章目录
Python内置函数/方法详解—元组tuple
元组是有序且不可更改的集合。在Python中,元组使用圆括号
()
编写的。
1、创建元组
元组的创建很简单,使用圆括号 () 直接创建或者使用 tuple() 函数创建,只需要在圆括号中添加元素,并使用逗号隔开即可。
1.1 使用 () 创建元组
通过 () 创建元组后,使用 = 将它赋值给变量,格式如下:
tuple_name =(element_1, element_2,..., element_n)
其中,tuple_name 表示变量名,element_1 ~ element_n 表示元组内的元素。
1.2 使用 tuple()函数 创建元组
我们除了可以使用 () 创建元组,还可以使用 tuple() 函数创建元组,但 tuple() 偏向于将某个类型转换为元组,具体用法见下述:
cre_tuple =tuple(('a','b','c'))# 注意双括号print(cre_tuple)print(type(cre_tuple))
('a','b','c')<class'tuple'>
1.3 元组(单个元素)
当元组中只包含一个元素时,需要在元素后面添加逗号
,
,否则括号会被当作运算符使用:
tuple_1 =(20)print(type(tuple_1))# <class 'int'>
tuple_2 =(20,)print(type(tuple_2))# <class 'tuple'>
当元组中只含一个元素未添加逗号时,使用 type() 打印其类型时,会输出
<class 'int'>
。
当元组中只含一个元素并添加逗号时,使用type() 打印其类型时,会输出
<class 'tuple'>
。
1.4 元组 VS 列表
- 在Python中,元组与列表相似,不同之处在于元组的元素不能修改,而列表的元素可以修改。
- 元组使用 小括号
()
,列表使用 中括号[]
。
2、访问元组
和列表一样,我们既可以使用下标索引访问元组中的某个元素(得到一个元素的值),也可以使用切片访问元组中的一组元素(得到是子元组)。
2.1 下标索引访问
下标索引访问元组分为两大类,即正向索引和反向索引,格式为
tuple_name[i]
,其中,tuple_name 表示元组名,i表示索引值,i可以是正数(正向索引)也可以是负数(反向索引)。
可以得知,
tuple_name[0]
表示元组内第一个元素,
tuple_name[-1]
则表示元组内最后一个元素。
tuple_name =('wzq','lgl','gz','whl','sj','hxw')print(tuple_name[0])print(tuple_name[-1])
wzq
hxw
正向索引:从第一个(下标0)开始、第二个(下标1)…
反向索引:从倒数第一个(下标-1)、倒数第二个(下标-2)…
2.2 切片访问
如若对上方描述不太理解,可参考下表:
元组值wzqlglgzwhlsjhxw正向索引012345反向索引-6-5-4-3-2-1
使用切片访问元组的格式为
tuple_name[strat : end : step]
,其中,start 表示起始索引,end 表示结束索引,step 表示步长。
tuple_name =('wzq','lgl','gz','whl','sj','hxw')print(tuple_name[1:5:2])print(tuple_name[-6:-1:3])
('lgl','whl')('wzq','whl')
在使用切片访问元组元素时,
tuple_name[strat : end : step]
,[start:end] 是左闭右开区间,即访问不了 end 代表的元素。
2.3 for 循环遍历元组
可以使用 for 循环遍历元组中的项目:
fruit_tuple =('apple','pear','cherry')for i in fruit_tuple:print(i)
apple
pear
cherry
2.4 检查项目是否存在
要确定元组中是否存在指定的项,我们可以使用 in 关键字:
# 检查元组中是否存在'apple'
fruit_tuple =('apple','pear','cherry')print('apple'in fruit_tuple)
True
使用 in 关键字检查元组中是否存在指定项时,如果存在,则返回 True ;反之,则返回 False 。
2.5 更改元组值
创建元组后,我们将无法更改其值。元组是不可变的,或者也被称为恒定的。
但是有一种解决方法:可以先将元组转换为列表,更改列表值,然后再将其转换回元组。
fruit_tuple =('apple','pear','cherry')
fruit_list =list(fruit_tuple)
fruit_list[2]='banana'
fruit_tuple =tuple(fruit_list)print(fruit_tuple)
('apple','pear','banana')
2.6 元组连接(合并)/复制
与字符串一样,元组之间可以使用
+
号和
*
号实现元组的连接和复制,这就意味着它们可以生成一个新的元组。
1、
+
连接
x =(1,2,3)
y =(4,5,6)print(x + y)
(1,2,3,4,5,6)
2、
*
复制
x =('Hello',)print(x *5)
('Hello','Hello','Hello','Hello','Hello')
2.7 元组不可变性
所谓元组的不可变性指的是元组所指向的内存中的内容不可变。
tup =('A','B','C')# tup[0] = 'a'
不支持修改元素,会报错
TypeError: 'tuple' object does not support item assignment
。
tup =('A','B','C')print(id(tup))# 查看内存地址
tup =(1,2,3)print(id(tup))
26714050672642671405072256
从以上实例可以看出,重新赋值的元组 tup ,绑定到了新的对象了,不是修改了原来的对象。
3、内置函数
3.1 打印输出 print()
1、
print()
函数
print() 函数的功能我们已经非常熟悉了,就是打印输出。
my_tuple =('name',True,21)print(my_tuple)
('name',True,21)
3.2 确定元组项目 len()
2、
len()
函数
当我们要确定一个元组有多少项目(元素)时,可以使用
len()
函数。
fruit_tuple =('apple','banana','cherry')print(len(fruit_tuple))
3
3.3 返回变量类型 type()
3、
type()
函数
使用 type() 函数可以确定变量是什么类型(字符串、列表、元组、字典或集合)。
当对
tup_1 = (20)
使用 type() 确定变量类型时,会返回
<class 'int'>
,表明这是一个整型。所以当一个元组只含有一个元素时,一定要加上逗号
,
。
当对
tup_1 = (20,)
使用 type() 确定变量类型时,会返回
<class 'tuple'>
,表明这是一个元组。
3.4 转换为元组 tuple()
4、
tuple()
函数
tuple() 函数的功能是,将其他类型转换为元组类型,详细用法如下:
- 将字符串转换为元组
str1 ='Hello Python'print(tuple(str1))
('H','e','l','l','o',' ','P','y','t','h','o','n')
- 将列表转换为元组
list1 =['Hello','Python']print(tuple(list1))
('Hello','Python')
- 将字典转换为元组
dict1 ={'Hello':'Python','name':'pink'}print(tuple(dict1))
('Hello','name')
- 将集合转换为元组
set1 ={'Hello','Python','name','pink'}print(tuple(set1))
('Hello','name','Python','pink')
- 将区间转换为元组
range1 =range(1,6)print(tuple(range1))
(1,2,3,4,5)
3.5 元组元素最大/小值 max()、min()
5、
max()
函数和
min()
函数
max() 函数的作用是返回元组中元素最大值。min() 函数的作用是返回元组中元素最小值。
tup1 =(4,6,2,0,-5)print(max(tup1))print(min(tup1))
tup2 =('a','z','A','Z')print(max(tup2))print(min(tup2))
6-5
z
A
3.6 删除元组 del
元组中的元素值是不允许删除的,但我们可以使用 del 函数来删除整个元组。
word_tuple =('a','b','c')del word_tuple
当我们使用 del 函数删除某元组后,再使用 print() 函数打印输出时,会报错
NameError: name 'word_tuple' is not defined
,表明该元组未被定义。
4、内置方法
4.1 元素出现次数 count()
count() 方法返回指定值在元组中出现的次数。
语法
tuple.count(value)
参数值
参数秒速value必需。要检索的项目。
实例
返回值 5 在元组中出现的次数:
num_tuple =(1,3,7,8,7,5,4,6,8,5,5)print(num_tuple.count(5))
3
4.2 元素位置 index()
index() 方法查找指定值的第一次出现。
语法
tuple.index(value)
参数值
参数描述value必需。要检索的项目。
实例
num_tuple =(1,3,7,8,7,5,4,6,8,5,5)print(num_tuple.index(5))
5
注意:当被搜索值在元组中存在多个,则返回第一次出现的下标。
num_tuple =(1,3,7,8,7,5,4,6,8,5,5)print(num_tuple.index(999))
如果未找到该值,index() 方法将引发异常,
ValueError: tuple.index(x): x not in tuple
。
5、总结
函数描述print()打印输出len()确定元组项目type()返回变量类型tuple()转换为元组max()返回元组元素最大值min()返回元组元素最小值del删除元组方法描述count()返回元组中指定值出现的次数index()在元组中搜索指定的值并返回它被找到的位置
以上就是本文的全部内容啦!如果对您有帮助,麻烦点赞啦!收藏啦!欢迎各位评论区留言!!!
最后编辑于:2022/7/25 20:43
版权归原作者 LeoATLiang 所有, 如有侵权,请联系我们删除。