Python之元组

元组是由一系列变量组成的不可变序列容器
【注】元组是不可变序列,列表是可变序列。即元组中的元素不可以单独修改,而列表则可以任意修改。

一、元组的创建与删除

1.创建空元组

方法一:tuple01 = []
方法二:tuple02 = tuple()

2.创建具有默认值的元组

方法一:tuple03 = ('整数', '元组', '字符串', '列表', '元组','字典','...' )
注1:使用方法一时,可以省略最外层的小括号。e.g. t = 1, 2, 3
注2:当元组中只有一个元素时,必须在元素后添上逗号
方法二:tuple04 = list(可迭代类型数据)
	e.g. t = tuple(range(0, 20, 2))
		 t = tuple("abcde")
注3:这里的可迭代数据是可以转换为元组的数据,如range对象、字符串、元组等

3.删除元组

del tuplename

二、访问元组元素

1.单次访问

print(tuple03)  		# 打印输出全元组(包含小括号)
print(tuple03[2])  		# 根据下标索引打印输出单个元组元素(直接打印元素内容)
print(tuple03[:3])  	# 利用切片获取元组中的一段元素值(前三个)

2.循环遍历列表
1)依次遍历

从头到尾遍历
for item in tuplename[::]:
	print(item)
从尾到头遍历
for i in range(len(listname)-1, -1, -1):
	print(listname[i])

2)间隔遍历

for item in tuplename[::2]:
	print(item)

3)for循环和内置函数搭配,实现同时输出索引值和元素内容

i. 与range()
	for index in range(start, end, step)
		print(index, list_demo[index])
ii. 与enumerate()
    for index, item in enumerate(listname):
    	print(index, item)

三、修改元组元素

1.不允许修改单个元素,但可以对元组重新赋值

T = (1,2,3,4,5)
T = (1,2,3,4,6)
【注】当元组中存在可变序列的元素时,可以修改其中的元素

2.可以对元组进行连接组合

t04 = ("a", "b")
t04 += ("c", "d")
【注】创建了新元组对象,改变了t04的存储地址

四、元组推导式

使用元组推导式生成的并不是一个元组,而是一个生成器对象,如需得到元组,需要使用tuple()函数转换,语法如下:(if条件为可选项)
生成器 = (对变量的操作 for 变量名 in 可迭代对象 if 条件)
e.g.

generator = (random.randint(10, 100) for i in range(10))
new_tuple = tuple(generator)

【注1】可以直接通过for循环或__next__()方法进行遍历
【注2】生成器对象只能遍历一次,遍历后的生成器对象已经不存在了

五、元组与列表的区别

元组和列表都属于序列,而且它们又都可以按照特定顺序存放一组元素,类型又不受限制。
如果把向元组或列表中存入数据比作我们用笔在纸上写字,那么列表相当于用铅笔写字,可以反复擦写;而元组相当于钢笔写字,写上就擦不掉了,除非换一张纸重写。
元组的访问速度比列表快,列表不能作为字典的键,元组却可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值