zoukankan      html  css  js  c++  java
  • 20180706

    一.字典dict:用大括号{}括起来,内部使用key:value的形式来保存数据

      {'jay':"周杰伦",'jj':"林俊杰"}

    注意:字典的key必须是可哈希的,不可变的                     list是不可哈希的,是可变的

      value  没有限制        不是按照我们的顺序保存,无序的

    二.字典的相关操作

    1.字典的增加

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}                         #如果key重复了,会替换原来的value
      # dic["晓君"]="未知"                                ===> {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic)

    例如;

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}
      # dic["晓君"]="未知"
      # dic["晓君"]="***"                                  ==> {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"***"}
      # print(dic)

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}                                 #如果字典中已经包含了这个key,将不再保存
      # dic.setdefault("晓君","未知")
      # print(dic)                                          ==> {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}
      # dic.setdefault("晓君","未知")
      # dic.setdefault("晓君","***")                    ==>{"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic)

    2.字典的删除

    dic.pop()

    例如

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}                      #删除一个元素,返回这个元素的value值
      # dic.pop("昆凌")
      # print(dic)                                               ==>{"刘怀源":"张舒文","刘亚楠":"尹少言"}

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}
      # ret = dic.pop("昆凌")
      # print(ret)                                                       ==>周杰伦的媳妇

    del dic[]

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}
      # del dic["昆凌"]
      # print(dic)                                            ==>{"刘怀源":"张舒文","刘亚楠":"尹少言"}

    ⑶dic.popitem()

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # dic.popitem()
      # print(dic)                                 ==>随机删除

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # ret = dic.popitem()
      # print(ret)                                   ==>返回的是一个元组(删除的那一项)

    ⑷dic.clear() 

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言"}
      # dic.clear()
      # print(dic)                                  ==>全部清除

    3.字典的修改

    ⑴用key去修改                  (数字加减也可以)

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # dic["晓君"]=int("123")
      # print(dic)                                            ==>"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"123"

    例如:

      dic = ["id":1,"name":"李嘉诚","money":1000]

      dic["money"]=dic["money"]-500

      print(dic)                                           ==>"id":1,"name":"李嘉诚","money":500

    ⑵update(更新)

    例如:

      # dic1 = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # dic2 = {"昆凌":"***媳妇","刘怀源":"张舒文","游丽":"真哥","A":"B","***":"张舒文"}
      # dic1.update(dic2)
      # print(dic1)                                     #把dic2中的内容更新到dic1中,如果存在了key,就替换,如果不存在,就添加
      # print(dic2)

    4.字典的查询

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic["昆凌"])                            ==>周杰伦的媳妇                              #如果key不存在直接报错

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic.get("刘怀源"))                                  ==>张舒文
      # print(dic.get("刘怀源的"))                               ==>None                            #如果key不存在,返回None

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic.get("刘怀源的","余小"))                               ==>余小                     #如果key不存在,直接输出默认值

    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}                    #可以帮忙添加
      # dic.setdefault("昆凌的","老公")
      # print(dic)                                                  ==>"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知","昆凌的","老公"

     例如:  

      dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      ret = dic.setdefault("昆凌的","老公")
      print(ret)                                                     ==>老公                          如果key不存在.就相当于添加,ret这个执行出来的是value
      print(dic)                                                    ==>"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知","昆凌的","老公"

        重点:setdefault()     ①首先要判断原来的字典中有没有这个key,如果没有,执行新增

                   ②用这个key去字典中查询,如果有,返回查到的结果

    5.字典的其他相关操作

    例如: 

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic.keys())                    打印出来dict_keys(['昆凌', '刘怀源', '刘亚楠', '晓君'])             拿到所有的key,返回key的集合,像是列表,但不是列表  
      # for key in dic.keys():                                         可以进行迭代循环
      # print(key)                                            
    例如:
      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic.values())
      # for value in dic.values():
      # print(value)
    例如:

      # dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}
      # print(dic.items())                                     item(元素)
      # for item in dic.items():
      # print(item)
      # print(item[0])

    例如:

      dic = {"昆凌":"周杰伦的媳妇","刘怀源":"张舒文","刘亚楠":"尹少言","晓君":"未知"}               解包   (元组,列表都可以)
      for k,v in dic.items():
        print(k,v)

    三.字典的嵌套

    例如:

    dic = {"name":"汪峰",
    "age":"48",
    "wife":{
    "name":"国际章",
    "age":"40",
    "salary":"10000" salary (工资)
    },
    "children":[
    {"name":"老大","age":20},
    {"name":"老二","age":16}
    ]
    }
    print(dic["children"][0]["age"])

      print(dic.[children][0]['name'])                 ==>20                        如果字典里面有[列表],就写列表里所对应的索引

    例如:          字典的for循环

    dic = {1:"A",2:"B",3:"C",4:"D"}
    for A in dic: ==>直接循环字典,拿到的是key
    print(A)
    print(dic(A)) ==>打印出来的是A所对应value
  • 相关阅读:
    二次开发注意
    LAMP集群项目五 nfs分发文件到服务器
    LAMP集群项目五 nfs存储的数据实时同步到backupserver
    LAMP集群项目五 项目备份
    LAMP集群项目五 部署NFS存储服务并设置WEB服务挂载
    LAMP集群项目四 安装apache、php及其插件
    iOS-单选cell的实现
    iOS-省市区选择的实现
    随机颜色的产生
    刷新轮的使用
  • 原文地址:https://www.cnblogs.com/lhy979/p/9275696.html
Copyright © 2011-2022 走看看