一:学习内容
- 字典概念
- 字典创建
- 字典访问
- 字典添加
- 字典删除
- 字典遍历
- 字典与列表比较
二:字典概念
1.使用键值对(key-value)存储,具有极快的查找速度
2.注意:字典是无序的
3.特性:
- 字典中的key必须唯一
- key必须是不可变的对象
- 字符串、整数、元组等都是不可变的,可以作为key
- list是可变的,不能作为key
三:字典创建
1.创建空字典
dict0={}
2.创建有元素的字典
dict1 = {"tom":60, "tester":88,"lili":100}
四:字典访问
1.获取:字典名[key] 没有这个key就会报错
dict1 = {"tom":60, "tester":88,"lili":100}
print(dict1["tom"])
dict1 = {"tom":60, "tester":88,"lili":100}
print(dict1["jojo"]) #没有这个key会报错
2.获取:dict1.get(key) 没有这个key返回None
dict1 = {"tom":60, "tester":88,"lili":100}
print(dict1.get("jojo")) #没有这个key不会报错,返回None
五:字典添加
1.字典名[key] = value,如果key存在字典中就为修改
dict1 = {"tom":60, "tester":88,"lili":100}
dict1["huawei"] = 99
print(dict1)
#因为一个key对应一个value,所以多次对一个key赋值其实就是修改这个key的值
dict1 = {"tom":60, "tester":88,"lili":100}
dict1["tom"] = 70
print(dict1)
六:字典删除
1.字典名.pop(key)
dict1 = {"tom":60, "tester":88,"lili":100}
dict1.pop("tom")
print(dict1)
七:字典遍历
1.遍历key
dict1 = {"tom":60, "tester":88,"lili":100}
for key in dict1:
print(key,dict1[key])
2.遍历value
dict1 = {"tom":60, "tester":88,"lili":100}
for value in dict1.values():
print(value)
3.遍历key和value
dict1 = {"tom":60, "tester":88,"lili":100}
for key,value in dict1.items():
print(key,value)
4.枚举遍历key,遍历key和key的序号,这个序号是我们存入字典里key的顺序
dict1 = {"tom":60, "tester":88,"lili":100}
for no,key in enumerate(dict1):
print(no,key)
八:字典与列表的区别
和list比较:
1、字典查找和插入的速度极快,不会随着key-value的增加变慢;列表查找和插入的速度会随着数据量的增加而变慢
2、字典需要占用大量的内存,内存浪费多,(多存了key的部分);列表占用空间少,浪费内存少