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.