Python基础——元组

文章介绍了Python中的元组,作为不可变序列,元组的创建包括单元素特殊语法,赋值创建以及从其他数据类型转换。删除操作涉及删除整个元组或按索引删除。尽管元组不可变,但可通过重新赋值改变整个元组。此外,还讨论了元组的连接组合、遍历方式以及与列表的区别。元组推导式生成的是生成器对象,需转换为元组或列表使用。文章强调了元组在访问速度和用作字典键的优势。
摘要由CSDN通过智能技术生成

元组介绍

元组为不可变序列,元组中的元素不可以单独修改

创建

如果要创建的元组只包括一个元素,则需要在定义元组时,在元素的后面加一个逗号”,“,否则创建的就不是一个元组

赋值创建

元组名称 = (元素1, 元素2, 元素n)

创建空元组

元组名称 = ()

创建数值元组

tuple(data)

data为要转换为数组的数据,其类型可以是range对象、字符串、元组或者其它可以迭代类型的数据 

str=(1)
tuple1=(1,)
tuple2=()
tuple3=tuple("2023")
print("str变量类型为:{0},值为:{1}".format(type(str),str))
print("tuple1变量类型为:{0},值为:{1}".format(type(tuple1),tuple1))
print("tuple2变量类型为:{0},值为:{1}".format(type(tuple2),tuple2))
print("tuple3变量类型为:{0},值为:{1}".format(type(tuple3),tuple3))

 

删除

del 元组名称

删除整个元组

del(元组名称[索引])

删除指定索引的数据

元组名称.remove(数据)

删除第一次出现的指定数据 

元组名称.pop()

删除末尾数据

元组名称.pop(索引)

删除指定索引数据

元组名称.clear()

清空元组
 

修改

元组是不可变序列,所以我们不能对它的单个元组值进行修改,但是元组也并不是完全不能被修改的,我们可以对元组进行重新赋值

重新赋值

元组名称 = ('值1','值2','值3')
元组名称 = ('值1','值2','值3','值4')

连接组合

#在进行元组连接时,连接的内容必须都是元组,不能将元组和字符串或者列表进行连接
#如果要连接的元组只有一个元素,一定不要忘记后面的逗号
元组名称 = 元组名称 + ('值1',)
元组名称 = 元组名称 + ('值1','值2','值3')

遍历

直接使用for循环遍历

  • 元组中有多少成员,for就会循环多少次
  • 变量名代表for每次循环的时候,得到的元组成员的值
tuple1 = ("张三","李四","王五")
for n in tuple1:
	print(n)

 

使用for循环和enumerate()函数实现

  • 可以实现同时输出索引值和元素内容
tuple1 = ("张三","李四","王五")
for index,item in enumerate(tuple1):
	print("索引是:{0},值为:{1}".format(index,item))

 

元组推导式

使用元组推导器生成的结果并不是一个元组或者列表,而是一个生成器对象,要使用该生成器对象,可以将其转换为元组或者列表。转换为元组使用tuple( )函数,转换为列表使用list( )函数

生成器对象名称 =(表达式 for 循环变量 in range(生成的range对象))

#导入random标准库
import random 
a = (i for i in range(10))
print("生成的生成器对象",a)
print("将生成器转换为元组:{0}".format(tuple(a)))

要使用通过元组推导器生成的生成器对象,可以直接通过for循环遍历,或者直接使用__next__()方法进行遍历,无论是通过哪种方法遍历,如果还想要再使用该生成器对象,都必须重新新建一个生成器对象,因为遍历后,原生成器对象已经不存在。

number = (i for i in range(3))
print(number.__next__())   #输出第1个元素
print(number.__next__())   #输出第2个元素
print(number.__next__())   #输出第3个元素

元组和列表的区别

  • 列表属于可变序列,它的元素可以随时被修改或者删除;而元组属于不可变序列,其中的元素不可以被修改,除非整体替换。

  • 列表可以使用append()、extend()、insert()、remove()和pop()等方法实现添加和修改列表元素,而元组没有这几个方法,因为不能向元组中添加和修改元素,同样也不能删除元组中的元素。

  • 列表可以使用切片访问和修改列表中的元素;元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改。

  • 元组比列表的访问和处理速度快,所以如果只需要对其中的元素进行访问,而不进行任何修改,建议使用元组而不使用列表。

  • 列表不能作为字典的键,而元组可以。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快吃土的小羊吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值