什么是字典
- Python内置的数据结构之一,与列表一样是一个可变序列
- 以键值对的方式存储数据,字典是一个无序的序列
- 字典的数据类型为dict
字典的实现原理
字典的实现原理与查字典类似,查字典是先根据部首或拼音查找汉字对应的页码,Python中的字典是根据key查找value所在的位置
字典的创建
最常用的方式
a={'张三':100,'李四':98,'王五':45}
使用内置函数dict()(字典的数据类型为dict)
a=dict(name='jack',age=20)
创建空字典
a={}
a=dict()
字典的常用操作
字典中元素的获取
[]取值与使用get()取值的区别
- []如果字典中不存在指定的key,抛出keyError异常
- get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回
使用[]查找元素
print(a['张三'])
使用gaet()查找元素
print(a.get('张三'))
Key的判断
print('张三' in a)
print('张三' not in a)
字典元素的删除
del a['张三'] #删除指定的key-value对
a.clear() #清空字典的元素
字典元素的新增和修改
a['jake']=90 #新增元素
a['jake']=100 #修改元素
字典视图操作
获取所有的key
a={'张三':100,'李四':98,'王五':45}
keys=a.keys()
print(keys)
print(type(keys))
获取所有的value
a={'张三':100,'李四':98,'王五':45}
values=a.values()
print(values)
print(type(values))
获取所有的key-value对
items=a.items()
print(items)
可以通过 list() 函数将转换之后的试图转换成列表,itema()的key-value对试图转换后的列表元素是由元组组成
字典元素的遍历
for i in a:
print(i)
字典的特点
- 字典中的所有元素都是一个key-value对,key不允许重复,value可以重复
- 字典的元素是无序的
- 字典中的key必须是不可变对象
- 字典也可以根据需要动态地伸缩
- 字典回浪费比较大的内存,是一种使用空间换时间的数据结构
字典生成式
内置函数zip()
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表
a=['a','b','c']
b=[1,2,3]
c={item:price for item,price in zip(a,b)} #
print(c)
d={item.upper():price for item,price in zip(a,b)} #upper()将字符替换成大写
print(d)