概述
本小节目录
元组的结构特点
元组的应用——创建元组
1. 使用赋值运算符直接创建元组
2.获取测试变量的类型
3.创建空元组
4.创建数值元组
5.删除元组
元组的应用——访问元组元素
元组的应用——修改元组元素
元组的应用——元组之间的连接
元组推导式
元组的结构特点
元组,英文名字tuple,是Python中一个重要的序列结构,其特点如下:
- 由一系列按照特定顺序排列的元素组成
- 是不可变的序列,通常用来保存不可修改的内容
- 元组的所有元素都放在一对小括号()中,相邻元素之间用逗号分隔
- 元组中可以放置整数、实数、字符串、列表、元组类型的内容
- 不同的数据类型可以放置在同一个元组中
元组的应用——创建元组
1. 使用赋值运算符直接创建元组
语法格式:tuplename = (element1, element2, element3, ......,element n)
下面列举了6种代码案例:
tuple1 = (1,2,3)
tuple2 = ('我','是','谁')
tuple3 = ('我',[1,2,3],(1,2,3))
tuple4 = '我','是','元','组' #小括号可以省略哦
tuple5 = ('没有逗号,表示定义的是字符串')
tuple6 = ('元素后面写有逗号,表示定义的是元组',)
print(tuple1)
print(tuple2)
print(tuple3)
print(tuple4)
print(tuple5)
print(tuple6)
运行结果:
==================== RESTART: E:python_workpython_demo.py ====================
(1, 2, 3)
('我', '是', '谁')
('我', [1, 2, 3], (1, 2, 3))
('我', '是', '元', '组')
没有逗号,表示定义的是字符串
('元素后面写有逗号,表示定义的是元组',)
>>>
2.获取测试变量的类型
通过type()函数来获取变量的类型。
tuple5 = ('没有逗号,表示定义的是字符串')
tuple6 = ('元素后面写有逗号,表示定义的是元组',)
print('tuple5的类型为:',type(tuple5))
print('tuple6的类型为:',type(tuple6))
============测试结果为======================
==================== RESTART: E:python_workpython_demo.py ====================
tuple5的类型为: <class 'str'>
tuple6的类型为: <class 'tuple'>
>>>
3.创建空元组
空元组的应用:在给一个函数传递一个控制或者返回空值时,可以使用空元组。
假如定义一个函数必须给它传递一个元组类型的值,而我们还不想为它传递一组数据,这时就可以创建一个空元组传递给它。
创建空元组的语法为:emptyTuple = ()
4.创建数值元组
在Python中,可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。
tuple()函数的语法:tuple(data),其中data表示可以转换为元组的数据,其类型可以是range对象、字符串、元组、或者可迭代的数据类型。
这里,我们创建一个0~20之间所有偶数的元组:
tuple1 = tuple(range(0,20,2))
print(tuple1)
==========代码运行结果============
==================== RESTART: E:python_workpython_demo.py ====================
(0, 2, 4, 6, 8, 10, 12, 14, 16, 18)
>>>
5.删除元组
语法格式:del tuplename
注意:可以不用手动删除,Python的垃圾回收机制会自动销毁不用的元组。
元组的应用——访问元组元素
通过下列示例,我们将学到:
- 输出元组中的所有元素
- 通过索引值,输出元组中,指定的元素
- 通过切片方式,输出元组中指定的元素内容
tuple1 = ('我',[1,2,3],('嘿嘿','哈哈'))
print(tuple1) #输出元组中所有元素
print(tuple1[0]) #输出索引值为0的元素
print(tuple1[:2]) #切片操作:输出元组中前两个元素值
print(tuple1[:3]) #切片操作:输出元组中三两个元素值
print("=========遍历tuple1中的元素============")
for str in tuple1:
print(str,end=' ')
print('n遍历========tuple2中的元素===============')
tuple2 = ('河南','安徽','山东')
for str in tuple2:
print(str+'省',end=' ') #注意这里做拼接的时候,一定保证数据类型为字符串类型
=============代码运行结果==========================
==================== RESTART: E:python_workpython_demo.py ====================
('我', [1, 2, 3], ('嘿嘿', '哈哈'))
我
('我', [1, 2, 3])
('我', [1, 2, 3], ('嘿嘿', '哈哈'))
=========遍历tuple1中的元素============
我 [1, 2, 3] ('嘿嘿', '哈哈')
遍历========tuple2中的元素===============
河南省 安徽省 山东省
>>>
元组的应用——修改元组元素
元组为不可变序列,本义上来讲是不允许修改元组元素的,但是,也不是完全不能修改。
元组,不能改变元组序列中的某个值;如果要修改,必须对整个元组序列重新赋值,以达到修改的效果。
举例说明,会报TypeError: 'tuple' object does not support item assignment的错误。
#修改元组元素值
tuple1 = ('字符1','字符2','字符3','字符5')
tuple1[3] = '字符4' #打算将'字符5'修改为'字符4'
print(tuple1)
运行结果会报错:
==================== RESTART: E:python_workpython_demo.py ====================
Traceback (most recent call last):
File "E:python_workpython_demo.py", line 317, in <module>
tuple1[3] = '字符4' #打算将'字符5'修改为'字符4'
TypeError: 'tuple' object does not support item assignment
>>>
假如我们必须要修改元组呢,那么如何才能达到修改的目的呢?
这里,我们对该元组进行重新赋值,看下面:
#修改元组元素值
tuple1 = ('字符1','字符2','字符3','字符5')
tuple1 = ('字符1','字符2','字符3','字符4')
print(tuple1)
运行结果如下,这次就不会报错了
==================== RESTART: E:python_workpython_demo.py ====================
('字符1', '字符2', '字符3', '字符4')
>>>
元组的应用——元组之间的连接
元组之间是可以进行连接的,但是连接的对象必须都是元组。
代码示例:
#元组之间的连接
tuple1 = ('字符1','字符2','字符3','字符4')
tuple2 = ('字符5','字符6','字符7')
newtuple = tuple1 + tuple2
print('连接后的元组内容:',newtuple)
代码运行结果:
==================== RESTART: E:python_workpython_demo.py ====================
连接后的元组内容: ('字符1', '字符2', '字符3', '字符4', '字符5', '字符6', '字符7')
>>>
元组推导式
使用元组推导式可以快速生成一个元组,它的表现形式和列表推导式类似,只是将列表推导式中的“[ ]”修改为“( )”。
举个例子:我们要生成一个包含10个随机数的元组
#元组推导式,生成一个包含10个随机数(10-100之间,包括10和100)的元组
import random
random_number = (random.randint(10,100) for i in range(10))
print(random_number)
print('上述不是我们想要的结果,接着往下看:')
random_number = tuple(random_number)
print(random_number)
运行结果如下:
==================== RESTART: E:python_workpython_demo.py ====================
<generator object <genexpr> at 0x00000241EEB8C8C8>
上述不是我们想要的结果,接着往下看:
(79, 99, 51, 35, 68, 100, 16, 35, 41, 75)
>>>
根据上述程序的执行结果,可以看出,元组推导式生成的结果不是一个元组,而是一个生成器对象。要使用该生成器对象可以使用tuple函数将其转换为元组。
最后
以上就是害怕大地为你收集整理的Python序列——元组的运用元组的结构特点元组的应用——创建元组元组的应用——访问元组元素元组的应用——修改元组元素元组的应用——元组之间的连接元组推导式的全部内容,希望文章能够帮你解决Python序列——元组的运用元组的结构特点元组的应用——创建元组元组的应用——访问元组元素元组的应用——修改元组元素元组的应用——元组之间的连接元组推导式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复