列表属于可变序列,可以任意修改列表中的元素。元祖属于不可变序列,不能修改元祖中的元素,即元祖没有增加元素、修改元素、删除元素相关的方法。元祖支持如下操作:
1.索引访问
2.切片操作
3.连接操作
4.成员关系操作
5.比较运算操作
6.计数:元祖长度len()、最大值mac()\最小值min()、求和sum()等
元祖的创建
1.通过()创建,小括号可省略;当元祖内容只有一个数字则需要在数字后面加一个,逗号
2.通过tuple(可迭代对象)创建;tuple()可以接受列表,字符串,其他序列类型、迭代器等生成元祖
元祖的删除同样也使用del
元祖的元素访问和计数
1.元祖的元素是不可以修改的
2.元素的访问和列表一样直接用方括号[],切片来进行访问
3.如果要对元祖排序,使用sorted(tuple(obj))
zip()方法
zip(列表1,列表2,..)将多个列表对应位置的元组合成为元祖,并返回zip对象。
元祖生成器
生成器推导式创建元祖
生成器推导式与列表推导式类似,只是使用小括号。生成器推导式生成的是生成器对象,不是列表也不是元祖。我们通过生成器对象,转化成为列表或元祖,也可以使用生成器对象的_next_()方法进行遍历,或者直接作为迭代器对象来
同样只能访问一次,第二次就为空了,需要再生成一次