【Python学习笔记Day13】3.4 元组

tuple 元组的元素是不可以改变的,列表是可以任意修改的
在使用中和列表是相似的

1. 创建和访问一个元组

逗号 , 是元组和列表等其他的区分标志

创建

tuple1 = (1,2,3,4,5,6,6,7,8)
print(tuple1)

在这里插入图片描述
访问一个元组的元素

print(tuple1[3]) #打印4

name = tuple1[4:]
print(tuple1[4:])
print(name)     #打印第五个开始后面的元素

tuple2 = tuple1[:]
print(tuple2)   #拷贝

在这里插入图片描述
**元组的标志性的符号是 **

temp = (1) #1为int型数值类型,即有()不一定是元组
print(temp)
print(type(temp)) # 打印int

在这里插入图片描述

temp2 = 2,3,4,5     #逗号是关键符号
print(type(temp2))  #打印tuple

在这里插入图片描述

temp3 = (1,)        #元组
print(type(temp3))
print(8*(8))    #返回一个数字64,int
print(8*(8,))   #返回8个元组,这里的*是重复操作符

在这里插入图片描述
创建一个空元组

temp4 = ()          #只用小括号()可以创建一个空元组
print(type(temp4))

在这里插入图片描述
在创建一个元组时,如果只有一个元素,需要在元素后添加逗号
如果需要创建一个空元组,则使用()来创建空元组

扫描二维码关注公众号,回复: 10368489 查看本文章

2. 更新和删除一个元组

前面提到元组是不可更改的,如何更新?
通过现有的分片来修改

temp = ('weivid','nihao','mitu','xiaobuding')
temp = temp[:2]+ ('yijing',)+temp[2:]
print(temp) #在第三个后面添加yijing,

注意(,)括号和逗号缺一不可
在这里插入图片描述
删除一个元组

del

python 有自动回收机制,所以一般建议不使用del来删除,当发现内存中的元组和列表中没有标签指向的时候
内部会自动清除这些

3. 元组相关的操作符

1)拼接操作符 +
2)重复操作符 *
3)关系操作符
4)逻辑操作符 and or
5)成员关系操作符 in not in

练习题

1. 请用一句话描述什么是列表,再用一句话描述什么是元组?

列表就是一个大仓库,你可以随时往里面添加和删除任何东西
元组就是一个封闭的列表,一旦定义,就不可以改变,即不能添加、删除元素

2. 什么情况下可以使用元组,而不是列表

当我们希望内容不轻易改写的时候,我们使用元组
如果我们需要频繁修改数据,我们则使用列表

3. 什么情况下,在创建元组的时候,小括号()和逗号,必须同时存在?

在拼接时,只有一个元素的元组的时候,例如之前的例子

temp = ('weivid','nihao','mitu','xiaobuding')
temp = temp[:2]+ ('yijing',)+temp[2:]
print(temp) #在第三个后面添加yijing,

注意(,)括号和逗号缺一不可

4. x,y,z = 1,2,3 请问下 x,y,z是元组吗?

x, y, z 组成的是元组,而单个是int型的

x,y,z = 1,2,3
print(type(z))
h = x,y,z
print(type(h))
5. 列表有”列表推导式“,元组有”元组推导式“吗?

元组没有元组推导式,但是对于下面这个是正确的

tuple1 = (x**2 for x in range(10))
#产生了一个生成器类型的
print(type(tuple1))

在这里插入图片描述
访问生成器使用next()方法,对于python 3,next()方法改为__next__()

print(tuple1.__next__())
print(tuple1.__next__())
print(tuple1.__next__())
print(tuple1.__next__())
print(tuple1.__next__())
print(tuple1.__next__())
print(tuple1.__next__())
print(tuple1.__next__())
print(tuple1.__next__())

在这里插入图片描述

发布了105 篇原创文章 · 获赞 71 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/vivid117/article/details/104418115