以下代码是字典的查,增,改,删的基本使用方法。
1 #-*-coding:utf-8-*- 2 _author_: Keep 3 4 #字典是无序的 5 info = { 6 '1':'张飞', 7 '2':'刘备', 8 '3':'关羽', 9 '4':'曹操', 10 '5':'赵子龙', 11 '6':'诸葛亮', 12 } 13 print(info) 14 #查找 15 #print(info['1'])#查找 16 print(info.get('6'))#查找 17 print('5' in info)#等同 py2.x 的 info.has_key('5') 查找字典里是否有,如果有返回True,否则返回Flase 18 19 info['4'] = '司马懿'#更改指定的信息 20 info['7'] = '吕布'#创建新的信息 21 #删除 22 del info['5'] 23 info.pop('7') 24 info.popitem()#随机删除 25 26 print(info)
以下代码是字典的多级嵌套的使用
1 #-*-coding:utf-8-*- 2 #_author_: Keep 3 relation = { 4 '曹操':{ 5 '曹昂':['字子脩','刘氏所生'], 6 '曹丕':['字子恒','卞夫人嫡长子'], 7 '曹彰':['字子文','武宣卞皇后第二子'], 8 '曹值':['字子建','武宣卞皇后第三子'] 9 }, 10 '刘备':{ 11 '刘禅':['字公嗣','甘夫人所生'] , 12 '刘永':['字公寿','吴懿之妹所生'] , 13 '刘理':['字奉孝','生母不明'] 14 }, 15 '诸葛亮':{ 16 '诸葛瞻':['字思远','生母不明'] 17 } 18 } 19 relation['诸葛亮']['诸葛瞻'][1] += ',有待考察'#增加信息 20 print(relation) 21 print(relation['诸葛亮']['诸葛瞻'][1])
其他用法
print(info.values())#返回字典的值 print(info.keys())#返回字典的key
setdefault的用法
relation.setdefault('司马懿',{'司马昭':['字子上']})#setdefault的用法,寻找字典中是否有指定寻找的,没有就新加入进去 print(relation)
update用法
info = { '1':'张飞', '2':'刘备', '3':'关羽', '4':'曹操', '5':'赵子龙', '6':'诸葛亮', } a = { '1':'司马懿', '8':'曹丕', '9':'周瑜' } info.update(a)#有更新的就覆盖,没有的话就创建新的 print(info)
item用法
>>>print(info.items())#把字典转成列表 dict_items([('1', '司马懿'), ('2', '刘备'), ('3', '关羽'), ('4', '曹操'), ('5', '赵子龙'), ('6', '诸葛亮'), ('8', '曹丕'), ('9', '周瑜')])
循环dict
for i in info: print(i,info[i])#循环,打印value和key for k,v in info.items():#会先把dict转成list,数据里大时莫用 print(k,v)