• 特性
    • key:value结构,字典中的每一个元素,都是键值对
    • key必须可被hash,且必须为不可变数据类型,必须唯一
    • 可存放任意多个值,可修改,可以不唯一
    • 无序
    • 查找速度快,因为hash可以把key变成数字,数字则可通过二分法快速查找,提高查找效率
  • 基本语法
    • clear:清空字典
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info) # =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
      Info.clear()
      print(Info) # =>{}
    • copy:复制字典
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      Info_new = Info.copy()
      print(Info_new) # =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
    • fromkeys:返回一个新的字典,key值可迭代,但所有的value都是相等的
    • Info = {}
      Info_new = Info.fromkeys([1,2,3],'Hi')
      print(Info_new) # =>{1: 'Hi', 2: 'Hi', 3: 'Hi'}
    • get:通过key获取对应的value,如果字典中key存在,则返回对应的value,如果不存在,返回None
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info.get('stu2'))# =>HanMeiMei
      print(Info.get('stu4'))# =>None
    • items:获取所有的key-value,以列表方式呈现
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info.items())# =>dict_items([('stu1', 'LiLei'), ('stu2', 'HanMeiMei'), ('stu3', 'XiaoMing')])
    • keys:获取所有的key
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info.keys()) # =>dict_keys(['stu1', 'stu2', 'stu3'])
    • values:获取所有的values
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info.values()) # =>dict_values(['LiLei', 'HanMeiMei', 'XiaoMing'])
    • pop:pop(self,k,d=None)删除指定的key,如果key存在,则返回对应的value,如果key不存在,则返回指定的d,如果d未指定,则报错
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info.pop('stu1'))# =>LiLei
      print(Info.pop('stu4',0))# =>0
      print(Info.pop('stu4'))# =>报错
    • popitem:删除字典中的一对key-value,无序的,当字典为空时,报错
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info.popitem())# =>('stu3', 'XiaoMing')
      print(Info.popitem())# =>('stu2', 'HanMeiMei')
      print(Info.popitem())# =>('stu1', 'LiLei')
      print(Info.popitem())# =>报错
    • setdefault:setdefault(self,k,d=None)如果key存在,则返回对应的value,如果key不存在,则将该key-value添加进字典,并返回该value(即指定的d),若d未指定,则为None
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      print(Info.setdefault('stu3','Jack'))# =>XiaoMing
      print(Info)# =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
      print(Info.setdefault('stu4','Jack'))# =>Jack
      print(Info)# =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing', 'stu4': 'Jack'}
    • update:更新字典,若key不重复,则类似增添新的key-value;若key重复,则key对应的value会被覆盖

    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      Info_new = {'stu4':'Jack','stu5':'Tony','stu6':'Tom'}
      Info.update(Info_new)
      print(Info)# =>{'stu1': 'LiLei', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing', 'stu4': 'Jack', 'stu5': 'Tony', 'stu6': 'Tom'}
      Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      Info_new = {'stu1':'Jack','stu5':'Tony','stu6':'Tom'}
      Info.update(Info_new)
      print(Info)# =>{'stu1': 'Jack', 'stu2': 'HanMeiMei', 'stu3': 'XiaoMing', 'stu5': 'Tony', 'stu6': 'Tom'}
  • 其他语法

    • 循环输出所有的key
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      for key in Info:
      print(key)
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      for key in Info.keys():
      print(key)
    • 循环输出所有的value
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      for value in Info.values():
      print(value)
    • 循环输出所有的key-value
    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      for key in Info:
      print(key,Info[key])
    • del:删除指定的key,若key不存在,则报错

    • Info = {'stu1':'LiLei','stu2':'HanMeiMei','stu3':'XiaoMing'}
      del Info['stu1']
      print(Info)# =>{'stu2': 'HanMeiMei', 'stu3': 'XiaoMing'}
      del Info['stu4']# =>报错

dict的特性和基本语法——python3.6的更多相关文章

  1. python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样

    python3.4学习笔记(一) 基本语法 python3不向下兼容,有些语法跟python2.x不一样,IDLE shell编辑器,快捷键:ALT+p,上一个历史输入内容,ALT+n 下一个历史输入 ...

  2. 10.1 ES6 的新增特性以及简单语法

    ES6 的新增特性以及简单语法  let 和 const 模板字符串 箭头函数 对象单体模式 es6面向对象 模块化  let 和 const 之前一直用 var 来声明变量,ES6 新增 let 和 ...

  3. set的特性和基本用法——python3.6

    特性 无序,不重复的数据组合,用{}表示,eg:{1,2,3,4,5,6} 用途 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之间的交集,差集,并集,对称差集,包含(子集和超集,相交 ...

  4. Java 8新特性:新语法方法引用和Lambda表达式及全新的Stream API

    新语法 方法引用Method references Lambda语法 Lambda语法在AndroidStudio中报错 Stream API 我正参加2016CSDN博客之星的比赛 希望您能投下宝贵 ...

  5. Java8新特性 -- Lambda基础语法

    Lambda 表达式的基础语法: Java8引入了一个新的操作符 “->”  该操作符称为箭头操作符或Lambda操作符, 该操作符将Lambda表达式拆分为两部分: 左侧: Lambda表达式 ...

  6. python学习2—python3特性与各种运算符

    python学习2—python3特性与各种运算符 python3与python2相比具有的新特性 在python2中可以使用__future__模块调用python3的特性 print()函数必须带 ...

  7. Python基础语法题库

    引言: 语法练习包括Python基础语法.数据类型.字符编码和简单文件操作等内容. 正文(参考答案附录在题目下方): 1.Python 里用来告知解释器跳过当前循环中的剩余语句,然后继续进行下一轮循环 ...

  8. python3入门

    简介 计算机基本概念与程序设计语言分类 python风格指南 基础语法 python3 基础语法:基本输入输出 python3 基础语法:标识符和保留字 python3 基础语法:注释 python3 ...

  9. Python3学习(一)

    基本语法 python3不向下兼容,有些语法跟python2.x不一样,IDLE shell编辑器,快捷键:ALT+p,上一个历史输入内容,ALT+n 下一个历史输入内容.#idle中按F5可以运行代 ...

随机推荐

  1. When you want to give up, remember why you started.

    When you want to give up, remember why you started.当你想要放弃的时候,请记住当初你为何而开始.

  2. PHP 获取JSON json_decode返回NULL解决办法

    在用json_decode对JSON格式的字符串进行解码时竟然为空,页面空白啊,整半天检查这里检查那里,问同事都没用. 今天必应搜索了下,问题解决了,原来是有BOM头输出,大虾的解决办法如下: 1). ...

  3. 超图supermap sdx数据库用sql实现空间查询

    在此介绍用sql对超图的空间数据库(sdx)进行空间查询,优点如下: 1.超图推荐的方式是用iobject,此方法要引入iobject 2.超图另一个推荐的方式是用iserver的REST接口,但we ...

  4. 31全志r58平台Android4.4.2下打开USB摄像头

    31全志r58平台Android4.4.2下打开USB摄像头 2018/10/26 16:00 版本:V1.0 开发板:SC5806 1.系统编译:(略) 2.需要修改的文件: W:\r58_andr ...

  5. SQL SEVER数据库重建索引的方法

    一.查询思路 1.想要判断数据库查询缓慢的问题,可以使用如下语句,可以列出查询语句的平均时间,总时间,所用的CPU时间等信息 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  6. json格式引起的 parse 报错

    json格式: {"ID":"4","PICDATAS":"[{"picDevNo": 1},{"p ...

  7. Python中Numpy ndarray的使用

    本文主讲Python中Numpy数组的类型.全0全1数组的生成.随机数组.数组操作.矩阵的简单运算.矩阵的数学运算. 尽管可以用python中list嵌套来模拟矩阵,但使用Numpy库更方便. 定义数 ...

  8. javascript日期函数

    时间对象是一个我们经常要用到的对象,无论是做时间输出.时间判断等操作时都与这个对象离不开.除开JavaScript中的时间对象外,在VbScript中也有许多的时间对象,而且非常好用.下面还是按照我们 ...

  9. CAD控件的鼠标事件(网页版)

    _DMxDrawXEvents::MouseEvent CAD控件中的鼠标事件. 参数 说明 LONG lType 事件类型,1鼠标移动,2是鼠标左键按下,3是鼠标右键按下,4是鼠标左键双击 5是鼠标 ...

  10. Python socket 粘包

    目录 1 TCP的三次握手四次挥手 0 1.1 三次握手 1 1.2 四次挥手 2 2 粘包现象 3 2.1 基于TCP制作远程执行命令操作(win服务端) 4 2.1 基于TCP制作远程执行命令操作 ...