zoukankan      html  css  js  c++  java
  • python-day5

    字典

      成对的保存数据,以key:value的形式保存

      用{}表示,每一项内容是不能重复的,储存是依靠着key来计算的

      字典是使用hash算法计算key的哈希值,使用哈希值来储存数据

      哈希算法得到的是一个唯一的数字(可能是正数,可能是负数,很大或者很小)

      哈希算法是无序的

      字典中的key必须是可哈希的,不可变的就是可哈希的

      不可变:字符串   元组 int bool 

      可变的: list  dict  set

      dic = {[]:"abc",}

      print(dic) # key不能重复, key必须是可哈希的(不可变) unhashable type: 'list' 列表可变,不可哈希

      字典的增删改查

     增

      dic = {}

      dic['王者荣耀'] = '荣耀王者'

      dic['A'] = '123'

      dic['A'] = '456'

      print(dic) #key如果重复就会被修改

      setdefault 先判断key是否存在,如果存在不进行新增,不存在执行新增

      dic.setdefault('宫本武藏','很牛b')

      dic.setdefault('宫本武藏','超级兵')#如果可以存在就不会再添加了

      dic.setdefault({'李白','坑'})#错误的

      dic[key] = value

      setdefault(key,value)

      

     删

      dic = {'A':'123','B':'456','C':'789'}

      dic.pop('A')

      dic.popitem()#删除最后一个,实际上是随机删除的

      #dic.clear()#清空字典

      del dic['B']

      print(dic)

      pop(key)

      popitem()

      del dic[key]

      clar()

     修改

      dic = {"张无忌":'倚天屠龙记', "紫薇":"还珠格格", "王语嫣":"天龙八部", "刘能":"乡村爱情协奏曲"}
      dic['王语嫣'] = "天龙九部" # dic[已经存在的key] = 新value
      print(dic)
      dic2 = {"张无忌": "魔教教主", "紫薇":"还珠格格第二部", "马大帅":"彪哥"}
      dic.update(dic2)# 把dic2中的内容覆盖到dic中
      print(dic)  dic[key] = value  dic1 = update(dict2)
    查询

      dic = {'A':'123','B':'456','C':'789'}
      print(dic[D])#没有报错
      print(dic.get('D'))#返回None
      setdefault() #新增
      dic = {"jay":"周杰伦"}
      ret = dic.setdefault("jay_jj","林俊杰")
      print(dic, ret)
        dic[key]
        dic.get(key)
        dic.setdefaul()

    常见操作  
      dic.keys() #key的集合
      dic.values() #value的集合  
      items()#键值对的集合(key,value)
      for k,v in dic.items():        
            k,v
      
    字典的迭代
      
      for k in dic:
        
      print(k,dic[k])
      

    字典的嵌套    

     

    wf = {
        "name":"汪风",
        "age":42,
        "hobby":"抢头条",
        "代表作":["春天里","怒放的生命","北京 北京"],
        "wife_now":{
            'name':"长子怡",
            "age":62,
            "爱好":"打麻将"
        },
        "children": [{'id':1,"name":"汪汗"},{"id":2,"name":"汪才"}]
    }
    print(wf['wife_now']['爱好'])
    # 汪峰的小儿子改名成  汪晓峰
    wf['children'][1]['name'] = "汪晓峰"
    print(wf)

     

      


      





      

      

      

      

  • 相关阅读:
    (最小路径覆盖) poj 1422
    (匈牙利算法) hdu 2119
    (匈牙利算法) hdu 4185
    (匈牙利算法) hdu 2063
    (匈牙利算法)hdu 1281
    (匈牙利算法DFS)hdu 3729
    (01 染色判奇环) hdu 3478
    (多重背包)poj 1276
    (判断欧拉回路)poj 1368
    (差分约束) hdu 1384
  • 原文地址:https://www.cnblogs.com/Thui/p/9837110.html
Copyright © 2011-2022 走看看