字典不是序列类型,而是映射类型。每组数据由一个键和一个值组成。字典没有顺序。
1. 字典的创建:
(1)看清括号个数。
(2)用等号
字典的修改,可以索引键对键对应的值进行修改
也可以添加元素。
在序列中,试图在不存在的位置赋值的时候会报错,但在字典中会相应创建相关的键并赋值。
序列又被称为工厂函数。
2.fromkeys()
dict.fromkeys(S[,V])
3.访问字典的方法
keys(), 返回字典键的引用。values(),返回字典值的引用。 items(),返回字典项的引用。
用.get访问字典,如果用直接方法访问字典里不存在的,会报错。而用get方法 不会报错,也可以用这个方法赋值。
4.清空字典的方法:
clear()
如:dict1.clear() 比直接重新赋值dict1={} 有效。
5.copy()
用copy的方法是浅拷贝,另开辟了一个内存,用直接赋值的方法是深拷贝。浅拷贝不会被原来的干扰。
6.pop.() popitem.()
pop是给定键,让其删除对应的值
popitem 随机从字典里删除值
7.setdefault(key)
用setdefault访问字典时,若字典没有这个key,会创建新项。
8.update()
利用一个字典或映射关系去更新另一个字典。
集合:
set类型,在花括号里但没有映射关系。集合里面所有的元素都是唯一的,都具有唯一性,赋值时若有重复的元素,自动剔除。集合也是无序的,不能试图去索引集合中的某一个元素。
1.创建集合方法:
a.直接把一堆元素用花括号括起来。
b.用set()工厂函数。
2.集合可用来去除重复的元素
普通方法: 方法二:
但是用集合方法会自动给列表排序,如果程序中关注列表中顺序的问题,不建议用集合。
3.访问集合中的值
a.用for把集合中的数据一个个读取出来。
b.可以通过in和not in判断一个元素是否在集合中已经存在。
c.可以用add方法添加元素。
d.可以用remove方法移除元素。
4.frozenset
定义一个不可变的集合。