zoukankan      html  css  js  c++  java
  • python 字典

    字典(dict):以键值对的方式存在,以大括号为标志、在字典里面键是不能修改的,值可以修改
    语法格式:字典名 = {key1:value1,key2:value2,.......}
    note:是无序的类型,建必须唯一,值不必。索引是以键为下标,不能索引键对应的值,键不能为列表
    
    特点:
    1.键值之间必须用冒号(:)隔开
    2.项与项之间必须用逗号(,)隔开
    3.字典中的键必须是唯一的,而值可以是重复的
    
    1.字典赋值和创建字典
    2.字典的基本操作
    3.映射类型的操作符
    4.映射的相关函数
    5.字典的方法
    
    一、映射:输入和输出对应,字典是python里面最强大数据类型之一
        键和值是一一对应的,就是一种映射类型、哈希值
        特点:键是唯一的、值可以是不唯一的,可以吧字典看成一个容器,满足与索引,切片,增删改查,可以储存无数
        个python对象类型,列表是不可以作为键的字典和序列区别:
            1.索引的方式不同
            2.存取和访问的数据类型不同
            3.值最好是以字符串的形式存在(虽然可以是各种类型的数据)
            4.字典是无序排列
            5.由键值直接映射到值
    
    dict()函数-可以将序列转换为字典
    变量名1=[(key,values),(),()]
    语法格式: 变量名2 = dict(变量名1)
    
    查看键的值:字典名.[键名]
    
    修改字典:找到修改数的下标,然后修改
    语法格式:字典名[键名]=值
    字典中重复的键,后面的键会把前面的键给覆盖
    
    添加一个新元素的方法:
    语法格式:字典名[新的键] = 新的值
    note:如果输人的元素名是新的就会添加到字典之中
    
    删除字典:删除指定字典或者整个字典
    note:删除整个字典后无法访问
    语法格式:del 字典名[键名]
    pop方法:
    语法格式:字典名.pop(键名)  弹出值的键名
    
    note:1.键不能出现第二次,否则同一个键会赋值二次,系统会选择最后一次的值
          2.键不能用列表,可以是字符串、数字、元组等
    
    len函数-用于计算字典元素的个数或者键的总数
    语法格式:len(字典名)
    
    type函数-用于返回字典类型或者字典元素类型
    语法格式:type(字典名)或者type(字典名[元素名(键的名)])
    
    dict与list的特点:
    dict---查找与插入速度快,不会随着key的增加而变慢
           缺点:内存占用、浪费大
    list---查找与插入速度慢随着key的增加而变慢
           缺点:内存占用、浪费小
    
    字典的方法;
    clear()方法-用来删除字典内的所有的元素
    语法格式:字典名.clear()
    
    copy()方法-复制一个字典
    语法格式:字典名2 = 字典名1.copy()
    
    fromkeys()方法-用来创建一个新的字典,seq为字典的键,value为字典键对应的初始值
    语法格式:字典名1 = dict.fromkeys(seq,value=None)
    note:如果fromkeys给键建立新的字典,那么键对应的值为None
         如果seq是字符串,会切片
         如果seq是列表,会直接输出
    
    get()方法-返回指定的值,否则就返回默认值None
    语法格式:字典名.get(key,defaull=None)
    note:key代表键,default代表键对应的值,如果没有就返回默认值None
    
    key in dict方法-判断字典的键是否在字典之中 在就返回True,否则返回False
    语法格式:元素值 in 字典名
    a. 变量名.has_key()方法,比如:adict.haskey('name')有--》True,无--》False
    b. in、not in    比如:'name in adict 有--》True,无--》False
    
    items()方法-以列表嵌套返回元组数组
    语法格式:字典名.items()
    
    setdefault()方法-获取与键相关的键值,如果键不在字典之中就会添加该键并将值设为默认值
    语法格式:字典名.setdefault((key,default=None)或者(键,键值))
    note:key代表查找的键值,default代表键不存在的时候设置为默认值。该方
    法无返回值
    
    update方法-把字典2更新到字典1之中
    语法格式:字典名1.update(字典名2)
    note:如果相同的key会覆盖
    
    values()方法-以列表的形式返回字典中所有值,返回列表中的元素可以包含重复的元素
    语法格式:list(字典名.values())
    keys()方法-以列表返回一个字典的所以的字
    语法格式:字典名.keys()
    
    cmp()方法;比较长度
    语法格式:cmp(字典名1,字典名2)
    note:字典名1 > 字典名2     返回1
         字典名1 < 字典名2     返回-1
         字典名1 = 字典名2     返回0 (要一模一样,键与值一样)
    
    映射相关函数:
    1.len():查看长度
    2.工厂函数dict()  语法格式:dict(键值对)创建一个字典
    永远的新手
  • 相关阅读:
    python入坑级
    nginx配置文件详解
    nginx看端口使用情况
    linux安装nginx
    linux安装jdk1.7
    linux设置tomcat开机启动
    redis master配置了密码进行主从同步
    linux搭建mysql 5.6.28
    linux搭建redis数据库
    找出一组数里出现频率最高的3个数(1.3)
  • 原文地址:https://www.cnblogs.com/chenzhanxu/p/14771620.html
Copyright © 2011-2022 走看看