本小节目录
元组的结构特点
元组的应用——创建元组
1. 使用赋值运算符直接创建元组
2.获取测试变量的类型
3.创建空元组
4.创建数值元组
5.删除元组
元组的应用——访问元组元素
元组的应用——修改元组元素
元组的应用——元组之间的连接
元组推导式
元组的结构特点
元组,英文名字tuple,是Python中一个重要的序列结构,其特点如下:
- 由一系列按照特定顺序排列的元素组成
- 是不可变的序列,通常用来保存不可修改的内容
- 元组的所有元素都放在一对小括号()中,相邻元素之间用逗号分隔
- 元组中可以放置整数、实数、字符串、列表、元组类型的内容
- 不同的数据类型可以放置在同一个元组中
元组的应用——创建元组
1. 使用赋值运算符直接创建元组
语法格式:tuplename = (element1, element2, element3, ......,element n)
下面列举了6种代码案例:
1
2
3
4
5
6
7
8
9
10
11
12
13tuple1 = (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)
运行结果:
1
2
3
4
5
6
7
8==================== RESTART: E:python_workpython_demo.py ==================== (1, 2, 3) ('我', '是', '谁') ('我', [1, 2, 3], (1, 2, 3)) ('我', '是', '元', '组') 没有逗号,表示定义的是字符串 ('元素后面写有逗号,表示定义的是元组',) >>>
2.获取测试变量的类型
通过type()函数来获取变量的类型。
1
2
3
4
5
6
7
8
9
10
11
12
13
14tuple5 = ('没有逗号,表示定义的是字符串') 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之间所有偶数的元组:
1
2
3
4
5
6
7
8tuple1 = 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的垃圾回收机制会自动销毁不用的元组。
元组的应用——访问元组元素
通过下列示例,我们将学到:
- 输出元组中的所有元素
- 通过索引值,输出元组中,指定的元素
- 通过切片方式,输出元组中指定的元素内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30tuple1 = ('我',[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的错误。
1
2
3
4
5
6
7
8
9
10
11
12
13
14#修改元组元素值 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 >>>
假如我们必须要修改元组呢,那么如何才能达到修改的目的呢?
这里,我们对该元组进行重新赋值,看下面:
1
2
3
4
5
6
7
8
9
10#修改元组元素值 tuple1 = ('字符1','字符2','字符3','字符5') tuple1 = ('字符1','字符2','字符3','字符4') print(tuple1) 运行结果如下,这次就不会报错了 ==================== RESTART: E:python_workpython_demo.py ==================== ('字符1', '字符2', '字符3', '字符4') >>>
元组的应用——元组之间的连接
元组之间是可以进行连接的,但是连接的对象必须都是元组。
代码示例:
1
2
3
4
5
6
7
8
9
10
11
12
13#元组之间的连接 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个随机数的元组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#元组推导式,生成一个包含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序列——元组内容请搜索靠谱客的其他文章。
发表评论 取消回复