python字典

主要内容

1字典的简单介绍

2字典增删改查和其他操作

3字典的嵌套

一字典的介绍

字典是python中唯一的一个映射类型.在dict中key是唯一的. 在保存的时候, 根据key来计

算出一个内存地址. 然后将key-value保存在这个地址中. 这种算法被称为hash算法, 所以, 切记, 在dict中存储的key-value中的
key'必须是可hash的, 如果你搞不懂什么是可哈希, 暂时可以这样记, 可以改变的都是不可哈希的,
那么可哈希就意味着不可变. 这个是为了能准确的计算内存地址而规定的.
已知的可哈希(不可变)的数据类型: int, str, tuple, bool
不可哈希(可变)的数据类型: list, dict, set
语法 :
{key1: value1, key2: value2....}

注意可以是不可变的(可哈希)的.valiue没有要求.可以保存任意类型的数据

dic = {123:456,True:999,'id':1,'name':'syalr','age':18,'stu'['帅哥','美女']}

  key list 和dict 还有set是不可变类型不能作为key

二字典的增删改查

1增加 原始和setdefault

前者可以将key的值改变后者不行

dic = {}

dic = {}
dic['jay']='周杰伦'
dic.setdefault('王小二')

 2删除

pop del popitem

解构

a,b = (1,5) 

dic = {'猪刚鬣':'元帅','朱元璋':'皇帝',}
dic.pop('朱元璋')#有返回值
dic.clear('朱元璋')#清空列表
dic.popitem('朱元璋')#随机删
del dic['朱元璋'] 删除

  改

update             

原来的在增介绍过

dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
dic2 = {'age':'59','吴用':'军师'}
dic.update(dic2)#把dic2更新到dic中

  查

和列表一样的查

get

dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
print(dic[age])
dic.get('诸葛亮')

  

其他

keys

dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}
print(dic.keys)
for el in dic.keys():
    print(el)
    print(dic.get(el))

 values

dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}

for el in dic.valies():
    print(el)

  items

dic = {'age':'58','朱元璋':'和尚','诸葛亮':'军师'}

for k,v in dic.items():
    print(k)
    print(v)

  嵌套

# wangfeng = {
#     'name':'汪峰',
#     'age':46,
#     'wife':{
#         'name':'章子怡',
#         'age':43
#     },
#     'children':[
#         {'name':'小叮当','age':10},
#         {'name':'大叮当','age':16}
#     ]
# }
#  汪峰的第二个儿子的年龄
# print(wangfeng.get("children")[1].get("age"))
# print(wangfeng.get("wife").get("name"))
# print(wangfeng.get("name"))

  

 

posted @ 2018-06-05 17:19  又见芳踪  阅读(125)  评论(0编辑  收藏  举报