python中字典的常见操作

Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典:

dict1 = { 'abc': 456 }

dict2 = { 'abc': 123, 98.6: 37 }

字典的添加,格式为:字典名[key]=value

字典的修改(只修改值,不修改键),格式为:字典名[key]=新的value

删除主键,那么与其相对应的值也将被删除,其格式为:del 字典名[“主键名”]

dict1 = { 'abc': 456 }

dict1["def"]=789            #设置其key为字符串"def",值为789

print (dict1)                #输出结果为:{'abc': 456, 'def': 789}

dict1["def"]=120           #修改"def"键所对应的值为120

print (dict1)                #输出结果为:{'abc': 456, 'def': 120}

del dict1["def"]            #删除"def"主键,与其对应的值也将一并删除

print (dict1)                #输出结果为:{'abc': 456}

字典的查询,格式为:字典名[主键]

使用get函数来判断所查询的内容是否存在,存在返回其值,不存在返回空,格式为:字典名.get(主键名)

dict1 = { 'abc': 456 ,"efg":789}dict1["efg"]    #查询主键是"efg"所对应的值,显示的结果为789

dict1.get["abc"]        #查询主键为"abc"的值,程序返回456

dict1.get["www"] #查询主键为"www"的值,因为该主键未能在本字典内找到,故无返回值(返回为空)

遍历:将文件,字符串,列表,元组,字典等里面的数据一一列举出来

字典的遍历:1,遍历字典中的key(键)

使用key()方法得到字典中的所有的主键名

dict1 = { 'abc': 456 ,"efg":789}        #创建字典

dict1.key()            #显示字典dict1中的主键名,得到的结果为dict_keys(['abc', 'efg']).目前暂时将其理解为列表["abc","efg"]

for i in dict1.key():            #遍历该字典所有的主键

        print(i)                        #输出的结果为字符串"abc","efg"

使用values()方法得到字典中的所有的值

dict1 = { 'abc': 456 ,"efg":789}        #创建字典

dict1.values()            #显示字典dict1中的值名,得到的结果为dict_values([456, 789]).目前暂时将其理解为列表

for i in dict1.values():            #遍历该字典所有的值

        print(i)                                #输出的结果为456,789

使用items()方法获取字典中所有的主键和值,并将其转换成列表中镶嵌着元组

dict1 = { 'abc': 456 ,"efg":789}        #创建字典 

dict1.items()             #输出的结果为dict_items([('abc', 456), ('efg', 789)]),可以暂且认为是列表

for i in dict1.items():            #遍历该字典所有的主键和值

        print("key=%s,values=%d"%(i[0],i[1]) )   #使用%s可以理解为先占一个值,这个值为字符串,真实值为i[0],%d表示这个值为数字,真实值为i[1],其后面的输出的结果为key=abc,values=456  key=efg,values=789.

猜你喜欢

转载自blog.csdn.net/qq_39353923/article/details/82149025