我是靠谱客的博主 害怕大地,最近开发中收集的这篇文章主要介绍Python序列——元组的运用元组的结构特点元组的应用——创建元组元组的应用——访问元组元素元组的应用——修改元组元素元组的应用——元组之间的连接元组推导式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本小节目录

元组的结构特点

元组的应用——创建元组

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序列——元组的运用元组的结构特点元组的应用——创建元组元组的应用——访问元组元素元组的应用——修改元组元素元组的应用——元组之间的连接元组推导式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(31)

评论列表共有 0 条评论

立即
投稿
返回
顶部