dict字典
1、概述
dict也是一种存储方式,类似于list和tuple,但是,字典采用键—值(key—value)的形式存储
优点:具有极快的查找速度
2、key的特性
1.字典中的key必须唯一
2.key必须是不可变对象
例如:字符串、整数等都是不可变的,可以作为key
list是可变的,不能作为key
不可变对象:bool,str,number,tuple,None
可变对象:list,dict,set
3、字典的创建
语法:
字典名 = {键1:值1,键2:值2,…}
dist1 = {'tom':90,'lili':78, 'lele':92}
print(dist1)
4、字典操作
4.1访问元素
语法:元素 = 字典名[key]
dist1 = {'tom':90,'lili':78, 'lele':92}
print(dist1['tom'])
注意:在key不存在的情况下,会报错
语法: 元素 = 字典.get(key)
功能:使用get的方法获取值,若key存在,则返回value的值,若key不存在则返回None
dist1 = {'tom':90,'lili':78, 'lele':92}
value = dist1.get('tom')
print(value)
4.2 添加元素
语法:字典名[key] = value
dist1 = {'tom':90,'lili':78, 'lele':92}
dist1['lisi'] = 89
print(dist1)
注意:一个key只能对应一个value,多次对一个key的value赋值,后面的值会把前面的值覆盖掉。
4.3 删除元素
语法:字典名.pop(key)
dist1 = {'tom':90,'lili':78, 'lele':92}
dist1.pop('tom')
print(dist1)
5、字典的遍历
使用for循环遍历
语法:
获取键
for key in dist:
print(key)
获取值
for value in dist.values() :
print(value)
同时获取键和值
for k, v in dist.items() :
print(k, v)
注意:字典是无序的,在内存中存储是无序的,因此无法通过下标来获取值
dist1 = {'tom':90,'lili':78, 'lele':92}
#获取字典的key
for key in dist1:
print(key)
#获取字典中的value
for value in dist1.values():
print(value)
#同时获取字典中的key与value
for k, v in dist1.items():
print(k, v)
6、与list的区别
1.dict的查找和插入的速度极快,不会随着key-value的增加而变慢,但是list在查找的时候需要从头向后挨个遍历元素,并且当数据量增大的时候,速度也会随着变慢
2.dict需要占用大量的内存,内存浪费多,而list只相当于存储了字典的key或者value部分,并且数据时紧密排列的。