python 元组

元组(tuple)是Python中另一个重要的序列结构,与列表类似,也是由一系列按特定顺序排列的元素组成,但是它是不可变序列。因此,元组也可以称为不可变的列表。在形式上,元组的所有元素都放在一对“()”中,两个相邻元素间使用逗号“,”分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到元组中,并且在同一个元组中,元素的类型可以不同,因为它们之间没有任何关系。通常情况下,元组用于保存程序中不可修改的内容。
说明
从元组和列表的定义上看,这两种结构比较相似,那么它们之间有哪些区别呢。它们之间的主要区别就是元组是不可变序列列表是可变序列。即元组中的元素不可以单独修改,而列表则可以任意修改

创建和删除

在这里插入图片描述

# 创建空元组
emptytuple=()
num = (7,14,21,28,35,42,49,56, 63)
team= ("马刺", "火箭","勇士","湖人")
untitle = ('Python' ,28,("人生苦短","我用Python"), ["爬虫","自动化运维","云计算" , "Web开发"])
language = ( 'Python', "C#", '''Java''')

verse1 = ("世界杯冠军",)
print("verse1的类型为",type(verse1))
verse2 = ("世界杯冠军")
print("verse2的类型为",type(verse2))

# 删除元组
del emptytuple

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

访问元素

data = ('Python ' ,28,("人生苦短","我用Python"), ["爬虫" ,"自动化运维" ,"云计算" , "Web开发"])
print(data)
print(data[1])
print(data[:3])

修改元素

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

player = ('梅西','C罗', '伊涅斯塔', '内马尔','格列兹曼', '莫德里奇') #定义元组
player = ('梅西','C罗',' 苏亚雷斯','内马尔','格列兹曼','莫德里奇') # 对元组进行重新赋值
print( "新元组", player)

元组推到式

使用元组推导式可以快速生成一一个元组,它的表现形式和列表推导式类似,只是将列表推导式中的中括号“[ ]”修改为小括号“()”。

import random
#导入random标准库									#导入random标准库
randomnumber = ( random. randint(10,100) for i in range(10))
print("生成的元组为: " , randomnumber)
randomnumber = tuple(randomnumber)           # 转换为元组
print("转换后:",randomnumber)

元组与列表的区别

元组和列表都属于序列,而且它们又都可以按照特定顺序存放一组元素,类型又不受限制,只要是Python支持的类型都可以。那么它们之间有什么区别呢?

列表类似于我们用铅笔在纸上写下自己喜欢的歌词,写错了还可以擦掉;而元组则类似于用钢笔写下的歌词,写上了就擦不掉了,除非换一张纸重写。

  • 列表属于可变序列,它的元素可以随时修改或者删除;而元组属于不可变序列,其中的元素不可以修改,除非整体替换。
  • 列表可以使用append()、 extend()、 insert()、 remove()和pop()等方法实现添加和修改列表元素;而元组则没有这几个方法,因为不能向元组中添加和修改元素,同样也不能删除元素。
  • 列表可以使用切片访问和修改列表中的元素;元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改。
  • 元组比列表的访问和处理速度快。所以如果只需要对其中的元素进行访问,而不进行任何修改,建议使用元组。
  • 必列表不能作为字典的键,而元组则可以。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值