字典及其增删改查,解构用法

1 dict :字典  用{}来表示,每次保存两个数据 :即 key:value,又称键值对.

   value:任意的数据类型.

   key:必须是可哈希的(不可变)

  每当我们保存字典得时候,每次打印输出得到的结果都是不一样的,因为字典是无序的,不按照我们保存的顺序保存;      字典不能切片

2 字典的增删改查  例:dic = {}   dic[ key] = value

   如果key存在,执行的是修改操作,如果key不存在,执行的是新增.

    dic.setdefault(key,value)  这个数据是字典增加的另一种方法,如果存在key,不执行任何操作;如果不存在就会新增.

   删除: pop del  clear  popitem

   dic.pop( key) 括号里面必须有key,他是有返回值的,返回value.

    del dic[key] 缺点是没有返回值.

   dic.clear( )  清空字典

   dic.popitem() 随机删除,有返回值,返给的是元组.

   解构:  a,b = (1,7)                a,b = [1,4]   解构可以解开元组和列表.

             print(a)  a = 1            print(a)a = 1

             print(b)  b = 7    print(b)b = 4

             a,b = b,a   a 和 b 得值会互换.

  修改 :dic[ key(原有的键)] = value(新的值)

          di = {"na":33}    di1 = {"sd":38,343:dkjfk}

      di.update(di1)      print(di)  print(di1)   把di1更新di,di中如果存在了di1中的key,会修改(覆盖),如果不存在,新增这个key,value.

   查询:  lst = [1,2,3,4,5]

                print(lst[6])     之后就会报错,出现这句话lst index out of range.

    dic = {"djif":12,"fjei":43,"fjkd":33}

       print(dic["kdjfk"])  如果key不存在就会出现报错.

       如果打印dic.get("kdjfk")就不会出现报错.

    print(dic.get("kdjfk"))返回None.且,dic.get("kdjfk","没有这个件") 其中None可以换成别的返回值,返回值默认None.可以手动设置.

  dic.keys()  要的是字典的key,  dic.values()要的是字典的值,dic.items()要的是键值对.

   for  k,v in dic.items():     

     print(k)      从dic 中获取到list 列表,列表中每一项都是一个元祖(key,value)

     print(v)      通过解构得到key,value.

posted @ 2018-06-05 18:46  冯坤大神  阅读(111)  评论(0编辑  收藏  举报