python基础五

字典

  dict   用{}表示  用键值对数据  {key:value}  唯一性

  键  都必须是可哈希的  不可变数据类型可以当作字典中的键

  值  没有任何限制

增删改查

增加

     dic[key] = value

        dic.setdefault(key,value)   如果键在字典中存在不进行任何操作,否则就添加

                                    可以通过key查询,没有这个key返回None

删除

        pop(key)                    有返回值  返回的是被删除value
        del dic[key]
        popitem()                   随机删除
        clear()                     清空字典
*******字典中的遍历删除问题:
这种方式在python3中报错
这种方式是一定有问题的:

d = {'a':1, 'b':2, 'c':3}
for key in d:
  d.pop(key)
会报这个错误:RuntimeError: dictionary changed size during iteration
这种方式Python2可行,Python3还是报上面这个错误。

d = {'a':1, 'b':2, 'c':3}
for key in d.keys():
  d.pop(key)
Python3报错的原因是keys()函数返回的是dict_keys而不是list。Python3的可行方式如下:
d = {'a':1, 'b':2, 'c':3}
for key in list(d):
  d.pop(key)

     dic[key] = value
        dic.update(字典)

     get(key)
        dic[key]
        for 循环
        setdefault(key)

字典的其他操作

keys     获取到所有的键存在一个高仿的列表中

        values   获取到所有的值存在一个高仿的列表中

        items    获取到所有的键值对已元祖的形式存在一个高仿的列表中

        解构:

            a,b  = 1, 2

            a,b  = (1,2)

            a,b  = [1,2]

字典的嵌套

            dic = {
                'name':'汪峰',
                'age':43,
                'wife':{
                    'name':'国际章',
                    'age':39,
                    'salary':100000
                },
                'baby':[
                    {'name':'熊大','age':18},
                    {'name':'熊二','age':15},
                ]

            }

            dic['baby'][0]['age'] = 19

            print(dic)

 

posted @ 2018-08-01 15:05  王哈哈呀  阅读(137)  评论(0编辑  收藏  举报