说明:掌握对字典进行创建、增删改查的操作,理解字典与列表的区别,掌握对集合的增删改查
1.如何对字典进行增删改查?
1.创建
1.1 普通的创建
a = dict() a = {} 空字典
a = dict(name="123",age=18)
a = {"a":"b","b":"c"}
1.2 通过映射函数创建
list1为键,list2为值
dic = dict(zip(list1,list2))
等同于:dict(((1,2),(3,4)))
1.3 通过键值对的方式
dic = dict(key='nihao',key1='beijing')
1.4 fromkeys方法
dic = dict.fromkeys(name_list)
name_list为键,键的值都为None
2.查看
2.1 a["a"] 根据键进行取值,没有就报错
a.get("a","默认值") 没有就取默认值,没有默认值就返回None
a.setdefault("键","默认值") 没有就去默认值
2.1 可以使用in not in 判断数据是否在字典的键中
3.增
a["键"]=值 进行增加数据,键存在就修改
update()执行update方法时,如果被更新的字典已包含对应原数据会被覆盖;不包含
就会新增
cars = {"BWM":85,"BENS":8.3,"AUDI":"7.9"}
cars.update({"BMW":4.5,"PORSCHE":9.3})新增
4.改
a["键"] = 值 进行数值的修改
5.删
a.pop("键") 没有就报错 del a["键"] 没有就报错
a.clear() 清空所有数据
del a 字典没了
a.popitem() 随机删除一个键值对,并返回
6.items(),keys(),values()
items(),keys(),values()分别用于获取字典中的所有key-value对、所有key、所有value
这三个方法依次返回dict_items、dict_keys和dict_values对象,可通过list()函数把
他们转化为列表。
7.字典推导式
dic={i:random.randint(10,100) for i in range(1,5)}
2.字典与列表区别是什么?
和list比较,dict有以下几个特点:
a:查找和插入的速度极快,不会随着key的增加而变慢;
b:需要占用大量的内存,内存浪费多。
而list相反:
c:查找和插入的时间随着元素的增加而增加;
d:占用空间小,浪费内存很少。
list与dict 的区别
dict的原理是使用空间换时间,key必须是要不变的,因为字典通过hash算法去取数据,所以
必须要保证hash值的唯一性。可通过使用python的不可变的数据类型
3.如何对集合进行增删改查?
1.创建
a = set() 空集合必须使用set()不能使用{},因为{}是用来创建一个空字典
a = set(("2","3")) 带默认值的使用
元组列表转换 set(元组)
2.添加
s.add(x) 将x添加到集合s中,如果元素已存在,则不进行任何操作。
s.update(x) 也可以添加元素,且参数可以是列表,元组,字典等
s.symmetric_difference_update(x) s与x中相同的会被删除
3.删
re.remove(x) 删除不存在报错
s.discard(x) 删除不存在不报错
re.pop(随机删除)
re.clear()
4.查
issubset 用于判断集合汇总的所有元素是否都包含在指定的集合中,返回True和false
set.issubset(set)
5.集合间的操作
a - b 集合a中包含而集合b中不包含
a | b 集合a或b中包含的所有元素
a & b 集合a 和b中包含了的元素
a^b 不同时包含于a和b的元素