• 字典(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)

      

  • 相关阅读:
    Asp.net弹出浏览器客户端确认对话框代码 Carlwave
    VS 2005 与SQL Server 2005整合优势在哪里?(from csdn.net) Carlwave
    如何让搜索引擎收录我的站点 Carlwave
    超强扩展性的DNNDotNetNuke模块功能分类列表(from 中国DNN) Carlwave
    DotNetNuke命名空间概述 Carlwave
    Most Popular Questions and Answers on ASP.NET Whidbey(from asp.net forums,write by ASP.NET Team) Carlwave
    火箭官方宣告麦蒂缺阵五周 季后赛前景蒙上阴影 Carlwave
    asp.net有效使用缓存(转) Carlwave
    《Business Rules Engine Overview》《业务规则引擎概述》write by Mark Kamoski Carlwave
    中国详细省市县自治区名称列表(含access数据库和sql2000备份数据库) Carlwave
  • 原文地址:https://www.cnblogs.com/qicun/p/9402047.html
Copyright © 2020-2023  润新知