Python元组的常规操作

Python元组的常规操作Python元组的常规操作

大家好,欢迎来到IT知识分享网。


一、前言

  元组(tuple)是Python中另一个重要的序列结构,与列表类似,也是由一系列按特定顺序排列的元素组成,但是它是不可变序列。

  在形式上,列表的所有的元素都放在一个中括号“()”中,两个相邻元素间使用逗号“,”分隔。


二、元组的创建和删除

  在Python中提供了多种创建列表的方法,下面分别介绍:


  【1】使用赋值运算符直接创建列表

tuplename = (lement 1,element 2,element 3,...,element n)

参数说明:

  • tuplename:表示元组的名称。
  • element 1,element 2,element 3,…,element n:表示元组中的元素,个数没有限制。

  【2】创建空元组

  在Python中,可以创建空元组,例如创建一个名称为num的空元组,可以使用下列代码:

num = ()

  【3】创建数值元组

  在Python中,可以使用list()函数直接将range()函数循环出来的结果转换为元组。

  list()函数的基本语法如下:

tuple(data)

  其中,data表示可以转换为元组的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。

  例如,创建一个10~20之间(不包含20)所有偶数的元组,可以使用下面代码:

num = tuple(range(10, 20, 2))
print(num)

  运行结果如下:
在这里插入图片描述

说明: 使用list()函数时,不仅能通过range对象创建元组,还可以通过其他对象创建元组。


  【4】删除元组

  对于已创建的元组,不再使用时,可以使用del语句将其删除。语法格式如下:

del tuplename

  其中,tuplename为要删除元组名称。

说明: del语句在实际开发时,并不常用。因为Python自带垃圾回收机制会自动销毁不用元组。所以我们即使不手动删除,Python也会自动将其回收。


三、访问元组

  要访问元组中的值,请使用方括号进行指定索引切片或索引,以获取该索引处的值。

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )

print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

  执行结果如下:
在这里插入图片描述


四、修改元组元素

  元组是不可变的,这意味着我们无法更新或更改元组元素的值。 但是可以对元组重新赋值

tup = (12, 34.56)
tup = ('abc', 'xyz')
print(tup)

  运行结果如下:
在这里插入图片描述
  另外我们还可以对元组进行组合来创建新的元组,如下例所示:

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
tup3 = tup1 + tup2
print (tup3)

  运行结果如下:
在这里插入图片描述


五、元组推导式

  使用列表推导式可以快速生成一个元组,它的表现形式与列表相似。只是将推导式中的中括号“[]”,修改为小括号“()”。例如:生成10个随机数的元组,代码如下:

import random  # 导入random标准库

randomnumber = (random.randint(10, 100) for i in range(10))

print("生成的元组为", randomnumber)

  运行结果如下:
在这里插入图片描述
  执行结果,可以看是元组推导式并不能生成列表或元组,是一个生成器,需要使用tuple()函数转换一下,代码如下:

import random  # 导入random标准库

randomnumber = (random.randint(10, 100) for i in range(10))

randomnumber = tuple(randomnumber)

print("生成的元组为", randomnumber)

  运行结果如下:

在这里插入图片描述


例如:通过生成器推导式生成一个包含3个元素的生成器对象number,然后调用3次__next__()方法输出每个元素,然后再将生成器转换为元组输出,代码如下:

number = (i for i in range(3))
print(number.__next__())  # 输出第一个元素
print(number.__next__())  # 输出第二个元素
print(number.__next__())  # 输出第三个元素
number = tuple(number)  # 转换为元组
print(number)

  运行结果如下:
在这里插入图片描述
  通过上面示例可以看出,如果想使用该生成器对象,必须重新创建一个生成器对象,因为遍历后原生成器对象已经不存在了。


免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14219.html

(0)
上一篇 2024-03-02 09:33
下一篇 2024-03-02 15:26

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信