字典是Python的内置数据结构之一。和列表一样,是一个可变序列#以键值对的形式存储数据,无序序列students={'a':100,'b':90,'c':75}students:字典名;冒号前是键,冒号后是值。根据key找到value的位置,通过hash(key)进行计算;hash(key)是一个不可变的序列(不支持增删改查,比如字符串和数字)。字典的特点是所有元素都是键值对,key不能重复,value没有限制字典中的元素是无序的,key必须是不可变对象(比如字符串,anumber),可以动态伸缩,浪费大量内存,查询速度快。以空间换时间的数据结构创建方法#1.使用{}s={'1':1,'2':2,'3':3}#2.使用内置函数x=dict(name='1',age=22)#空字典y={}ofthedictionary常用操作#1.获取字典中的元素,使用[]/get()print(s['1'])#1#print(s['11'])#当key不存在时,抛出KeyError:'11'print(s.get('2'))#2print(s.get('22'))#当key不存在时,输出Noneprint(s.get('22',222))#当key不存在时,默认提供222,结果输出为222#2.判断key是否存在in/notinx1=dict(name='1',age=22)print('name'inx1)#Trueprint('name'notinx1)#False#3.删除键值对在字典中指定delx1['name']#4.清空字典x1.clear()#5.添加键值对x1['333']=222print(x1)#{'333':222}#6.修改键值对x1['333']=333print(x1)#查看{'333':333}字典的操作#1.keys():获取字典的所有keys1={'1':1,'2':2,'3':3}print(s1.keys())#dict_keys(['1','2','3'])打印(列表(s1.键()))#['1','2','3'];将键视图转换成列表#2.values():获取字典的所有值print(s1.values())#dict_values([1,2,3])print(list(s1.values()))#[1,2,3];将values的view转成list#3.items():获取字典的所有键值对print(s1.items())#dict_items([('1',1),('2',2),('3',3)])print(list(s1.items()))#[('1',1),('2',2),('3',3)];将items的视图转换为列表,遍历元组组成的字典的元素s2={'one':1,'two':2,'three':3}foritemins2:print(item)dictionarygeneration使用内置函数zip():将对象中对应的元素打包成元组,返回由这些元组组成的列表a=['张三','李四','王五']b=[21,22,23]print(list(zip(a,b)))#[('张三',21),('李四',22),('王舞',23)]#语法:{key.upper():valueforkey,valueinzip(keys,values)}print({key.upper():valueforkey,valueinzip(a,b)})#{'张三':21,'李斯':22,'王武':23}
