python-day05-study

Posted IT东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-day05-study相关的知识,希望对你有一定的参考价值。

1.字典:

  是Python中唯一的一个映射类型,是用{}括起来的键值对组成;在dict中key是唯一的.在保存的时候,根据Key来计算出一个内存地址,然后将key – value保存在这个地址中,这种算法被称为hash算法.所key是可哈希的. 可以改变的都是不可哈希的

已知的哈希类型:int str tuple bool

不可哈希(可变)的数据类型:list,dict,set

 

语法:{key1:value,key2:value…}  key是不可变的 所以key不能是list,dict,set

 

2.字典的增删改查:

         增:

         dic = {}

         dic[‘name’] = ‘周星星’ 如果dict中没有这个key,就会新增一个dict   {‘name’:’周星星’}

如果有则会覆盖

dic.setdefault(‘李嘉诚’,’房地产’) 如果dict中没有key 则增加个dict {‘李嘉诚’:’房地产’}

如果有则原dict不变

         删:

         dic.pop(key)  删除key指定的dict  返回值是value

         dic.itempop()  随机删   返回值 (key, value)

         dic.clear()      清空字典

         del dic[key]      删除key指定的dict  

         改:

         dic{key} = ‘ ddd‘  原tuple有key 覆盖即修改

         dic = {‘国际章‘:‘汪峰的老婆‘,‘马桶‘:‘脏‘,‘马蓉‘:‘王宝强的前任老婆‘,‘王建立‘:10000}

       dic[‘王建立‘] = dic[‘王建立‘] – 500

  

       dic1 = {"id": 123, "name": ‘sylar‘, "age": 18}

  dic2 = {"id": 456, "name": "麻花藤", "ok": "wtf"}

  dic1.update(dic2)  将dic2放到dic1中 同样key的覆盖,不同的添加

  查:

  1.print(dic[‘key’])  如果没有key 报错

  2.dic.setdefault(‘key’) 如果有 返回key对应的value

  用法:ret = dic.setdefault(‘key’,’value’)

                   print(ret)

  如果dict中没有对应的key,会先添加到dict中 在返回value

  如果dict中有key 直接返回原dict中key对应的value

  3.print(dic.get(‘key’) ) 如果没有 返回None

   print(dic.get(‘key’,’没有值’) )如果没有 后边可添加默认值, 即返回 ’没有值’ 如果有直接拿到值

 

3.dict的其他操作:

         dic = {"id": 123, "name": ‘sylar‘, "age": 18, "ok": "科比"}

         print(dic.keys())  #dict_keys([‘id‘, ‘name‘, ‘age‘, ‘ok‘])  打印出dic中所有的key 伪列表

可以用for循环:

  for key in dic.keys():

           print(key)

 

  print(dic.values()) #  dict_values([123, ‘sylar‘, 18, ‘科比‘] 打印出dic中所有的value 伪列表:  可以用for循环:

  for value in dic.values()

           print(value)

 

  print(dic.items())  #  dict_items([(‘id‘, 123), (‘name‘, ‘sylar‘), (‘age‘, 18), (‘ok‘, ‘科比‘)]) 这个东西也是list. 只不不过list中装的是tuple

  for key,value in dic.items():  #解构

           print(key,value)

        

4.解构:

         a,b = 1,2

print(a,b)

 

(c,d) = 3,4

print(c,d)   #解构的时候注意数量必须匹配

5.字典的嵌套:

以上是关于python-day05-study的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学Python-day8

python-day2

python-day2 字典

Python-Day3

Python-Day1

python-day2