Python学习笔记(五)
一、dict简介
dict 全称为dictionary,也即字典的意思
dict 使用键值对key-value的形式存储
dict 具有极快的查找速度
二、dict 创建
dict = {}
dict = {"name1":"CQ1","name2":"CQ2","name3":"CQ3"}
三、dict 查看
dict[key] #通过指定键值对中的键可以获取其对应的值,但如果键值对中的键不存在,则会报错
key in dict #可以通过此方式验证字典中是否存在键key
dict.get(key) #可以通过此验证列表中是否存在键key,如不存在则返回None
dict.get(key,-1) #可以通过此验证列表中是否存在键key,如不存在则返回指定的值-1
四、dict 修改
dict[key] = newValue
五、dict 删除
del dict[key] #删除字典中的一对键值对
del dict #删除整个字典元素
dict.pop(key) #删除字典中的元素
dict.clear() #清空字典中的元素
popitem() #随机返回并删除字典中的一对键值对
六、创建带有初始值的字典
dict.fromkeys([key1,key2,key3...],0) #注意,这里必须接收返回值
七、获取字典中所有的键和值
dict.keys()
dict.values()
八、获取字典中所有的键值对
dict.items() #以列表返回可遍历的(键,值)元组数组
九、更新字典中的值
dict.update(dict2) #将dict2中的键值对更新到dict中,如果dict中没有dict2中的键,那么也将直接添加进dict中
十、字典的拷贝
dict = dict1.copy() #这里将发生浅拷贝,与直接赋值是不同的,直接赋值是对父对象的引用,而浅拷贝是深拷贝一级目录的值,持有对二级目录的引用。
十一、dict与list的比较
dict查找和插入,dict比较快,不会随着key的增多而变慢,但dict需要占用大量的内存
list查找和插入所需要的时间睡着元素的增加而增加,但占用空间少,内存浪费少
十二、dict的key要求
dict 中对于key必须是不可变对象,即字符串或者整数等
十三、dict 遍历
for key,value in dict.items():
print("key=",key,"value=",value)
for key in dict:
print("key=",key,"value=",dict.get(key))
两种遍历方法的比较:第一种方法可以直接获取键值对,但每次都需要进行items(),所以执行效率相较第二种方法要慢
十四、set 简介
set 是一组key的集合,但这些key是不重复的
set 可以看做是数学中的集合的概念,其内部是无序的,不重复的
十五、set 创建
list = [1,2,3,4,5]
set = set(list) #创建set需要为其提供一个lsit作为创建的数据源
十六、添加元素
set.add(key)
十七:删除元素
set.remove(key)
十八、数学操作
交集:set1 & set2
并集:set1 | set2