1.定义字典由键和它们对应的值组成。这个键值对就成为一个项目(item)。键):值的集合;2.key必须使用不可变类型;3.在同一个字典中,key必须是唯一的;4.字典是python中唯一内置的映射类型。,操作1.访问字典中的值要获取键关联的值,可以依次指定字典名和方括号中的键。alien={'color':'green'}print(alien['color'])get1)get方法为访问字典提供了一个轻松的环境。通常,如果您尝试访问字典中不存在的项目,则会抛出异常;2)使用get访问一个不存在的key时,不会出现异常,返回None;3)可以指定“Default”值,当访问一个不存在的键时,将返回“default”值4)如果字典种子包含指定的键,get的作用与普通字典查找相同x={}print(x['name'])print(x.get('name'))print(x.get('name','N/A'))2.添加键值对alien['x_position']=3alien['y_position']=4print(外星人)3。删除键值对del1)删除的键值对将永远消失,彻底删除2)使用del语句时,必须指定要删除的字典名和键3)deldict[]没有返回值delalien['color']print(alien)pop1)dict.pop()有返回值d1={'x':'1','y':'2'}d1.pop(x)print(d1)clear()#清空字典,删除所有字典项alien={'color':'green'}print(alien.clear())4.修改字典中的值#指定字典名,key包含在方括号和与键关联的新值alien['color']='yellow'print(alien)5.复制浅拷贝copy()a。当要复制的值是可变类型时,需要区分浅拷贝和深拷贝(因为可以将变量类型指向同一个内存空间);b.当复制的值是不可变类型时,不区分浅拷贝和深拷贝(指向不同的内存空间)x={'username':'admin'}y=x.copy()y['username']='爱丽丝'print(y)print(x)深拷贝deepcopy()深拷贝时原件不受影响#为了避免这个问题,一种方法是进行深拷贝,即拷贝值及其包含的所有值在同时可以使用copy模块函数deepcopyfromcopyimportdeepcopyx={}x['names']=['amy','daniel']y=x.copy()dy=deepcopy(x)x['name'].append('alice')print(y)print(dy)6.items方法items返回一个包含所有字典项的列表,其中每个元素的形式为(key,value)7.嵌套字典列表1)将三个字典放入列表中alien_0={'color':'green'}alien_1={'color':'red'}alien_2={'color':'yellow'}aliens=[alien_0,alien_1,alien_2]foralieninaliens:print(alien)2)Generatemultiplealienalienswithrange()=[]#Create30greenaliensforalien_numinrange(30):new_alien={'color':'green','speed':'low'}aliens.append(new_alien)#显示aliens[:5]中外星人的前5个:print(alien)将列表存入字典pizza={'crust':'thick','toppings':['sweet','extracheese'],}fortoppinginpizza['toppings']:print(topping)将字典存储在字典use??rs={'alice':{'first':'a','last':'e',},'daniel':{'first':'d','last':'l',},}对于用户名,users.items()中的user_info:print('\nUSERNAME:'+username)8.遍历所有键值对user={'username':'alice','first':'a','last':'e'}forkey,valueinuser.items():print('\nKEY:'+key)print('VALUE:'+value)遍历字典中的所有键keys()遍历字典,默认会遍历所有键user={'username':'alice','first':'a','last':'e'}forkey_nameinuser.keys():print(key_name.title())按顺序遍历字典中的所有键sorted()以特定顺序返回元素,在for循环中对返回的键进行排序,使用()functionuser={'username':'alice','first':'a','last':'e'}fornameinsorted(user.keys()):打印(name.title())遍历字典values()中的所有值user={'username':'alice','first':'a','last':'e'}fornameinuser.values():print(name.标题())
