python--集合与字典
2019-03-18 本文已影响0人
昆仑草莽
在前面的学习中,我们知道序列是有序的,当中的元素是可以重复的,其实,在python中还有两个序列是无序的,我们叫他散列类型,这就是集合和字典。
集合
集合是具有唯一性,可变性,无序性。所以大多时间,集合在python中是去重的。
定义一个集合:
s = {1,2,3,4,5} 或者 s = set() 直接类型转换即可。
a = [1,2,3,4,5]
s = set(a)
使用 s = set() 可以定义一个空集合。
集合具有可变性,那么他就可以做增删改查的操作。
1.增:
s.add('要增加的元素') 只可以增加单个元素,数字和字符串。不可增加列表和元祖。
2.改:
s.update(可迭代对象) 也可以理解为对列表,元祖,集合,字典,字符串的增加操作。
3.删
s.pop() 无序删除,因为集合是无序的,pop() 的删除不能确定删除的是哪一个。
s.remove('需要删除的对象') 指定删除。
4.查:
集合s和集合s1
s isdisjoint(s1) 判断集合s与集合s1是否有交集,有则返回False.
s issubset(s1) 判断集合s 是否包含与 s1
s issuperset(s1) 判断集合s是否包含s1
issubset 与 issuperset 是一对互逆操作。
集合有三种运算:交,并,差
s &s1 集合交集
s | s1 集合并集
s - s1 集合差集
字典
字典由键值对组成,具有唯一性,可变性,Python3.6后更改为有序性。
字典是可变对象但字典的键的唯一的,是不可变对象。
定义一个字典:
dl = {'name':'tom','age':'24'} 键值对形式
dl2 = dict(a = 1,b = 2) dict函数形式
字典具有可变性。
1.增:
dl['tel'] = '1300000000' 有tel这个键就修改后面的值,没有就增加一个键值对。
dl.copy() 拷贝出一个新的字典。
dl.setdefault({'sex':'man'}) 有则查,无则增。
2.改:
dl.update({'sex':'male'}) 有则改,无则增。
3.删
dl.pop('tel') 指定删除。()内必须有需要删除的键。
dl.popitem() 随机删除。一般情况删除最后一个,()内无任何值。
dl.clear() 清空字典。
4.查:
dl.get('tel') 根据键来查询值。
dl.keys() 查询字典中所有的键。
dl.values() 查询字典中所有的值。
dl.items() 查询字典中所有的键值对。