元组
列表属于可变序列,可以任意修改列表中的元素。元组属于不可变序列,不能修改元组中的元素。元组没有增加元素、修改元素、删除元素相关的方法。
元组支持:
1.索引访问
2.切片操作
3.连接操作
4.成员关系操作
5.比较运算操作
6.计数:元组长度len()、最大值max()、最小值min()、求和sum()等
元组的创建
1.通过()创建元组。(小括号可以省略)
a=(10,20,30)或者a=10,20,30
如果元组只有一个元素,则必须后面加逗号:a=(1,)或者a=1
2.通过tuple()创建元组
tuple(可迭代的对象)
tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组
list()可以接收元组、字符串、其他序列类型、迭代器等生成列表
元组的元素访问和计数
1.元组的元素不能被修改
2.元组的元素访问和列表一样,只不过返回的仍然是元组对象
3.对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象
zip
zip(列表1,列表2,...)将多个列表对应位置的元素组合成为元组,并返回这个zip对象
元组的核心特点是:不可变序列
元组的访问和处理速度比列表快
与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用
字典
字典是“键值对”的无序可变序列,字典中的每个元素都是一个“键值对”,包含:“键对象”和“值对象”。可以用“键对象”实现快速获取、删除、更新对应的“值对象”。字典中通过“键对象”找到对应的“值对象”,“键”是任意的不可变数据,比如:整数、浮点数、字符串、元组,但是:列表、字典、集合这些可变对象不能作为“键”,并且“键”不可重复;“值“可以是任意的数据,并且可重复。
字典的创建
1.可以通过{}、dict()来创建字典对象
a={' ':' ',' ':' ',' ':' '}
a=dict(name=' ',age=' ',job=' ')
a=dict([(" "," "),(" "," ")])
2.通过zip()创建字典对象
3.通过fromkeys创建值为空的字典
字典元素的访问
(可先设定一个字典对象:a={'a':'100','b':'200','c':'300'})
1.通过[键]获得“值”。若键不存在,则异常
2.通过get()方法获得“值”(推荐使用)。优点:指定键不存在,返回None;也可以设定指定键不存在时默认返回的对象。
3.列出所有的键值对
4.列出所有的键,列出所有的值
5.len()键值对的个数
6.检测一个"键"是否在字典中
字典元素添加、修改、删除
(可先设定一个字典对象:a={'a':'100','b':'200','c':'300'})
1.给字典新增“键值对”。如果“键已经存在”,则覆盖旧的键值对;如果“键”不存在,则新增“键值对”。
2.使用update()将新字典中所有键值对全部添加到旧字典对象上。如果key有重复,则直接覆盖。
3.字典中元素的删除,可以使用del()方法;或者clear()删除所有键值对;pop()删除置顶键值对,并返回对应的“值对象”
4.popitem():随机删除和返回该键值对。
序列解包
序列解包可用于元组、列表、字典,可方便对多个变量赋值
用于字典时,默认是对“键”进行操作;如果需要对键值对操作,则需要使用items();如果需要对“值”进行操作,则需要使用values()
集合
集合是无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的“键对象”,因此是不能重复且唯一的。
集合创建和删除
1.使用{}创建集合对象,并使用add()方法添加元素
2.使用set(),将列表、元组等可迭代对象转成集合(如果原来数据存在重复数据,则只保留一个)
3.remove()删除指定元素;clear()清空整个集合
集合相关操作
集合有并集、交集、差集等运算
a|b(并集)a.union(b)(并集)
a&b(交集)a.intersection(b)(交集)
a-b(差集)a.difference(b)(差集)