元组:
一组有序数据的组合。元组不可以修改。
元组的定义:
-
空元组:
- 变量 = () 或者 变量= tuple()
-
单个元素的元组
变量 = (值,) -
具有多个数据的元组
- 变量 = (值,值…) 或者 变量 = tuple(容器数据)
基本操作:
- 变量 = (值,值…) 或者 变量 = tuple(容器数据)
只可以使用索引访问元组,不可以进行其他操作。
tuple1=(“你”,“我”,“他”,(“你得”,“我的”))
print(tuple1[3][1])
分片: 操作和列表一致。
tuple1=(“你”,“我”,“他”,(“你得”,“我的”))
print(tuple1[0:2:2])
常用函数
max() 获取元组中的最大值
min() 获取元组中的最小值
len() 获取元组的长度
tuple() 创建元组或者将其他数据转化为元组
元组的遍历: 同列表一样,嵌套元组和嵌套列表也一致
tuple1=(“你”,“我”,“他”,(“你得”,“我的”))
for name in tuple1:
for i in name:
print(i)
元组推导式:
元组推导式的结果不是元组,而是生成器(生成器需要操作才会得到结果)
语法同列表推导式一样
基本推导式: 结果变量 = (变量 for 变量 in 元组)
from collections import Iterator
res=(i*i for i in range(6))
print(res,type(res))
print(isinstance(res,Iterator))
print(next(res))
print(next(res))
print(next(res))
print(next(res))
for i in res:
print(i)
print(tuple(res))
元组除了不能修改和删除,其他的和列表相关操作一模一样,
元组函数可以使用 index 和 count,只能是元组相关的获取操作
比如更改,删除,排序,翻转,清空都不可以
tuple=(1,2,3,4,5)
res=tuple.index(2)
print(res)
tuple=(1,2,3,4,5,2,2)
res=tuple.count(2)
print(res)
元组推导式是生成器(generator)
定义:生成器是特殊的迭代器,可以自定义.按照某种算法推算下一个数据,只需往内存里存一个生成器,节省空间
语法:(1)里面是推导式,外面是()的是生成器
(2)含有yield关键字的函数是生成器函数,它可以返回一个迭代器,换句话说,生成器是一个返回迭代器的函数。
def func():
yield 1
print(“一次”)
yield 2
print