• python3字典


    字典

    字典是另一种可变容器模型,且可存储任意类型对象。

    除了列表以外,字典是也许是python中最灵活的内置数据结构,如果把列表看成有序的集合,那么字典可以当成无序的集合。

    他们的主要差别在于:字典当中的元素是通过键来存取的,而不是通过偏移量

    作为内置类型,字典可以取代许多搜索算法和数据结构,python字典的主要的属性如下:

    通过键而不是偏移量读取

      字典有时又叫做关联数组或散列表。它们通过键将一系列值连接起来,这样可以使用键从字典总取出值。

    任意对象的无序集合

      保存在字典中的数据没有特定的顺序。键提供了字典中象征性(而非物理性)的位置

    可变长,异构,任意嵌套

      与列表类似,可在原处增长或缩短,它们可以包含任意类型的对象,而且支持任意深度的嵌套

    可变映射类型

      通过给键赋值,字典可以在原处修改,但是不支持字符串或列表的序列操作,因为字典是无序集合

    对象引用表(散列表)

      如果说列表是支持位置读取对象引用数据,那么字典是支持键读取的无序对象引用表

    字典的每个键值(key-->value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 

    d = {key1 : value1, key2 : value2 }
    键必须是唯一的,但值则不必。

    或者通过dict({key:value})的方式创建字典
    值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

    访问值:
      通过键访问 print(dic['list']) 返回:['list1','list2']
      print(dic[12]) 返回:'字符串12'
    修改或添加:
      操作已有的键是修改,操作没有的键是添加
      dic['list']='只有一个' #修改
      dic['Age']=17 #添加一个监键值对
    删除字典/元素或清空:
      del dic['list'] 清除键为“list”的元素
      del dic 删除字典
      dic.clear() 清空字典
    特性:
      键是唯一的,如果有两个相同的键,后面的会覆盖前面的
      键不可变,可以用数字,字符串或元组充当


    内置函数和方法:
      len(dict) 返回元素个数,键的总数
      str(dict) 输出字典,以可打印的字符串表示
      type(variable) 返回元素或变量的数据类型
      key in dict 如果键在字典里,返回True
      clear() 清空字段所有元素
      copy() 返回一个字典的复制
      keys() 以列表返回一个字典所有的键
      values() 以列表返回字典中的所有值
      get(key,default==None) 返回指定键的值,如果值不存在字典中,返回default值
      setdefault(key,default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
      update(dict) 把字典dict2的键/值对更新到dict中
      items() 以列表返回可遍历的(键,值)元组数组

     

    其他字典方法

      字典方法提供了多种工具字典values和items方法分别返回字典值的列表和(key,value),可以把它们放在list中调用

    >>> dic={"name":'南希',"age":17}
    >>> list(dic.values())
    ['南希', 17]
    >>> list(dic.items())
    [('name', '南希'), ('age', 17)]

      然而如果当读取读取的键不存在是,将会返回一个默认的None值

    >>> print(dic.get("gender"))
    None

      dict的update方法类似合并,它和从左到右的顺序无关,它把参数字典的值合并到调用者字典中,然而盲目的update可能会导致覆盖相同的键值

    dic2={"gender":""}
    >>> dic.update(dic2)
    >>> dic
    {'name': '南希', 'gender': '', 'age': 17}

    字典使用注意:

      序列运算无效:即不可使用dic[0]来使用,她会抛出一个keyError的异常

      对新索引赋值会添加项:添加字典中未出现的键值会新建这个键值

      键不一定总是字符串:可以是数字,字符串,元组等

     

    关于列表和字典的用法技巧将在对应文章讲解

    更多的用法及描述还是需要查看python的官方文档。

  • 相关阅读:
    springMVC之配置
    compareTo(String str)与compareToIgnoreCase(String str)
    js中的json
    Java转json
    mxnet 豆瓣镜像源安装
    查看 tensorflow 是GPU版本 还是CPU版本
    nvidia-docker安装
    ubuntu下安装tensorflow-gpu版本过程
    CUDA, CUDNN 版本查询
    ubuntu版本查看命令
  • 原文地址:https://www.cnblogs.com/tademeng/p/7470838.html
Copyright © 2020-2023  润新知