• 字典


    day05

    字典

    一丶什么是字典

    dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔

     

    键: 必须是可哈希,(不可变的数据类型),必须是唯一的

    值: 任意数据类型

     

    特点:

    查询的效率非常高,通过key来查找元素

    内部使用key来计算一个内存地址(暂时), hash算法,key必须是不可变的数据类型(key 必须是可哈希的数据类型),key必须是不可变的数据类型

     

    字典是无序的, python3.6版本以上,默认定义顺序,3.5以下随机显示

     

    二丶字典的使用

    ####增
       #setdefault('键名','值')
       #两个含义:
      #1.如果key不存在就执行新增.
      #2.如果key已经存在,就不在新增,就执行查询
    dic.setdefault('键名','值')
       
       #添加键值
       dic['键名']='值'

       
       

    ####删
       #pop 通过键,删除,返回被删除的键锁对应的值
       dic.pop('键名')

       #popitem() 随机删除
       dic.popitem()

       #del dic[键名] #指定的键值对
       del dic['键名']

       #del 删除整个字典
    del dic   # ---> 删除的是内存地址
       
       #clear() 清空字典
       dic.clear()

       
       
       
    ####改
    #直接修改
       dic['key']='新值'
       
       #update() 替换修改
       dic.update({'键名':'新值'}) #括号内的字典优先级高

       
       
       
    ####查
       #直接查询
       dic('键')

       #setdefault('键名') 前提是键已存在的情况,执行查询,
       dic.setdefault('键名')

       #get('键名','返回的内容')键存在,返回对应的值. 键不存在, 默认返回的None,若指定提示内容,则返回提示内容
       dic.get('键名','键不存在,返回的内容')

       
       

    #####字典的使用
    #for 循环字典 ,获取所有的键
       for i in dic:
           print(i)
                 
      #dic.keys()
      # 获取所有的keys 高仿列表,但是没有索引,可迭代.可以根据keys获取值
       a={'a':'1',"b":'2'}
    print(a.keys())
       
    for i in dic.keys():
    print(dic[i])
           
       #dic.values()
       # 获取所有的values,没有索引,可迭代
       a={'a':'1',"b":'2'}
    print(a.values())
       
       for i in dic.values():
           print(i)  
           
       #dic.items()
       #获取字典汇中的键值对,以元组形式.
       a={'a':'1',"b":'2'}
    print(a.items()) # dict_items([('a', '1'), ('b', '2')])
       
       for i in dic.items()
      print(i)   #-->('a', '1')
           print(type(i)) #<class 'tuple'>

       
       
       
    ####解构  
       #字典 元组   列表 ,字符串 可迭代的都能解构
       a,b,c=(a1,b1,c1) # 必须一一对应
       a,b={    #   解构的是字典的key
           "a":1,
           "b":2,
      }
       
       #字典的结构  
       a={'a':'1',"b":'2'}
       for k,v  in a.itmes():
           print(k,v)  # --->k 对应键, v 对应值

       
       
       
    ####枚举 enumerate(可迭代对象,索引) 同时列出数据和数据下标
    a={'a':'1',"b":'2'}
       for i,k enumerate(a,1) #第二个参数,默认从0开始
           print(i,k)  # --- i 是索引, k是键名

     

     

    三丶字典的嵌套

    goods = [{"name": "电脑", "price": 1999},
            {"name": "鼠标", "price": 10},
            {"name": "游艇", "price": 20},
            {"name": "美女", "price": 998},
            ]

    #取出美女
    print(good[3]['name'])

     

    四丶字典的作用

    1.字典是存储大量的数据,字典比列表还大

    2.字典的查找值的时候,方便快捷,快速

    3.字典能够将数据进行关联

    4.字典消耗内存大,常用的数据类型:字符串,列表和字典

    ###字典的转换需要借助 json 模块

     

     

  • 相关阅读:
    java.io.IOException: Premature EOF
    springmvc集成shiro例子
    eclipse调试(debug)的时候,出现Source not found,Edit Source Lookup Path,一闪而过
    【译】Core Java Questions and Answers【1-33】
    Spring bean依赖注入、bean的装配及相关注解
    【译】Spring 4 基于TaskScheduler实现定时任务(注解)
    【译】Spring 4 + Hibernate 4 + Mysql + Maven集成例子(注解 + XML)
    【译】Spring 4 @Profile注解示例
    【译】Spring 4 @PropertySource和@Value注解示例
    【译】Spring 4 自动装配、自动检测、组件扫描示例
  • 原文地址:https://www.cnblogs.com/xiangwang1/p/12179973.html
Copyright © 2020-2023  润新知