• 字典(dict),增删改查,嵌套


    一丶字典

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

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

      值  没有任何限制

    二丶字典的增删改查

      1.增

        dic[key] = value

        dic.setdefault(key,value)

        如果键在字典中存在,则不进行任何操作,否则就添加,可以通过key查询,没有这个key则返回None

    1 #
    2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
    3 dic["sex"] = ""  #增加,如果key重复了,会替换掉原来的value
    4 print(dic)
    5 dic.setdefault("hobby","listen music")
    6 print(dic)

      2.删

        pop(key) 有返回值,返回的是被删除的value

        del dic[key]

        popitem  随机删除

        clear()     清空字典

     1 #
     2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
     3 ret = dic.pop("money")    #有返回值,返回的是被删除的value
     4 print(dic)              #{'name': '周杰伦', 'age': 45, 'sex': 'boy'}
     5 print(ret)      #被删除的值
     6 del dic["sex"]    #{'name': '周杰伦', 'age': 45, 'money': 100000}
     7 print(dic)
     8 dic.popitem()       #随机删除
     9 print(dic)          #{'name': '周杰伦', 'age': 45, 'sex': 'boy'}
    10 dic.clear()         #全部清空 {}
    11 print(dic)

       3.改

        dic[key] = value

        dic.update(字典)

    1 #
    2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
    3 dic["age"] = "40"   #强制修改值
    4 print(dic)      #{'name': '周杰伦', 'age': '40', 'sex': 'boy', 'money': 100000}
    5 dic1 = {"name":"李晨","bug":"唯一一个","age":38}
    6 dic2 = {"name":"范冰冰","邓超":"玛丽","age":26}
    7 dic2.update(dic1)       #把dic1中的内容更新到dic2中,如果存在了key,则替换,如果不存在,则添加进去
    8 print(dic1)
    9 print(dic2)

      4.查

        get(key)

        dic[key]

        for  循环

        setdefault(key)

     1#查
    2 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000} 3 print(dic.get("sex")) #boy 4 print(dic["age"]) #45 5 for a in dic: #for 循环默认是获取字典中的键(key) 6 print(a) 7 print(dic[a]) #获取的是字典中的值(value) 8 ret = dic.setdefault("name","谢文东") #首先判断原来的字典中有没有这个key,如果没有,执行新增 9 print(dic) #用这个key去字典中查询,返回查找到的结果 10 print(ret)

    三丶字典的其它操作

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

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

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

    1 dic = {"name":"周杰伦","age":45,"sex":"boy","money":100000}
    2 print(dic.keys())       #获取到所有的键存在一个高仿的列表中
    3 ##dict_keys(['name', 'age', 'sex', 'money'])
    4 print(dic.values())       #获取到所有的值存在一个高仿的列表中
    5 ##dict_values(['周杰伦', 45, 'boy', 100000])
    6 print(dic.items())         #获取到所有的键值对,以元组的形式存在一个高仿的列表中
    7 ##dict_items([('name', '周杰伦'), ('age', 45), ('sex', 'boy'), ('money', 100000)])

    四丶字典的嵌套

     1 # 字典的嵌套
     2 dic1 = {
     3     "name":"汪峰",
     4     "age":48,
     5     "sex":"",
     6     "wife":{
     7         "name":"章子怡",
     8         "age":36,
     9         "sex":"",
    10     },
    11     "baby":[
    12         {"name":"熊大","age":18},
    13         {"name":"熊二","age":16}
    14     ]
    15 }
    16 print(dic1)
    17 dic1["baby"][1]["age"] = 14
    18 print(dic1)

      

  • 相关阅读:
    docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers).
    docker load error: open /var/lib/docker/tmp/docker-import-347673752/bin/json: no such file or directory
    redis设置允许远程连接
    redis 连接字符串,设置密码
    abp + angular 项目 图标字体注意事项
    abp + angular 前端使用 hash ,登录界面不跳转问题
    abp 后台项目在IIS 中运行
    cmder 常用快捷键
    CentOS7安装RabbitMQ
    linux 检测服务器端口工具
  • 原文地址:https://www.cnblogs.com/qicun/p/9402047.html
Copyright © 2020-2023  润新知