Python从入门到实战系列——目录

字典的定义

  • 字典是另一种可变容器模型,且可存储任意类型对象;使用键-值(key-value)存储,具有极快的查找速度;

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
    语法格式:{ key1 : value1, key2 : value2, key3 : value3 ...}
users={' 张三 ' : 18 , ' 李四 ' : 19 , ' 王五 ' : 20 , ' 赵六 ' : 19}
  • 字典的键必须是唯一的,并且值的数据类型是不可变的,但值可以使任意的或者重复的;
    # 编号作为键,键唯一,值可变
users={ 1 :' 张三 ' , 2 :' 李四 ' , 3 :' 王五 ' , 4 :' 张三 ' }

访问字典里的值

  • 访问字典中的值使用 dict[键]
    dict = {'name' : ' SiberiaDante ' , ' age ' : 18  , ' address' : ' China '}
print(dict['name'] # 结果 :SiberiaDante

修改字典

  • 根据字典中的键修改字典中的值
    dict = {'name' : ' SiberiaDante ' , ' age ' : 18  , ' address' : ' China '}
print(dict['age']) # 输出:18
dict [ ' age ' ] = 20
print(dict['age']) # 输出: 20
  • 向已有的字典中增加键值对
    dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
print(dict) # 结果 :{'name': 'SiberiaDante', 'age': 18, 'address': 'China'}
dict['language']='Python'
print(dict) # 结果 : {'name': 'SiberiaDante', 'age': 18, 'address': 'China','language':'Python'}

删除字典

  • 删除字典中的单个元素:dict[key]
    dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
print(dict) # 结果 : {'name': 'SiberiaDante', 'age': 18, 'address': 'China'}
del dict['name']
print(dict) # 结果 : { 'age': 18, 'address': 'China'}
  • 删除一个字典: del dict
    dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
del dict
  • 清空字典:dict.clear()
       dict = {'name' : 'SiberiaDante' , 'age' : 18  , 'address' : 'China'}
print(dict) # 结果 : {'name': 'SiberiaDante', 'age': 18, 'address': 'China'}
dict.clear()
print(dict) # 结果:{}

字典内置函数&方法

  • 函数
    len(dict)   计算字典元素个数,即键的总数。
str(dict) 输出字典,以可打印的字符串表示。
type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。
  • 方法
    dict.clear() 删除字典内所有元素
dict.copy() 返回一个字典的浅复制
dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值
key in dict 如果键在字典dict里返回true,否则返回false
dict.items() 以列表返回可遍历的(键, 值) 元组数组
dict.keys() 以列表返回一个字典所有的键
dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2) 把字典dict2的键/值对更新到dict里
dict.values() 以列表返回字典中的所有值
pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。

字典和列表对比

  • 和list比较,dict有以下几个特点:

    • 查找和插入的速度极快,不会随着key的增加而变慢;

      *需要占用大量的内存,内存浪费多;
  • 和dictionary相比,list的特性:
    • 查找和插入的时间随着元素的增加而增加;
    • 占用空间小,浪费内存很少;

7-Python3从入门到实战—基础之数据类型(字典-Dictionary)的更多相关文章

  1. 5-Python3从入门到实战—基础之数据类型(列表-List)

    Python从入门到实战系列--目录 列表定义 list:列表(list)是Python内置的一种数据类型,list是一种有序的集合,索引从0开始,可以进行截取.组合等: //创建列表 list1 = ...

  2. 3-Python3从入门到实战—基础之数据类型(数字-Number)

    Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionar ...

  3. 8-Python3从入门到实战—基础之数据类型(集合-Sets)

    Python从入门到实战系列--目录 集合的定义 集合(set)和字典类似,也是一组key的集合,但不存储value:由于key不能重复,所以,在set中,没有重复的key. 创建一个set,需要提供 ...

  4. 6-Python3从入门到实战—基础之数据类型(元组-Tuple)

    Python从入门到实战系列--目录 元组的定义 定义元组只需要在括号中添加元素,并使用逗号隔开即可 tup = ('Python','Java','C++','Kotlin') 元组与列表的区别 P ...

  5. 4-Python3从入门到实战—基础之数据类型(字符串-String)

    Python从入门到实战系列--目录 字符串表示 在 Python 3版本中,字符串是以 Unicode 编码的:Python 中使用 ' '或者" "表示字符串 msg = 'H ...

  6. 11-Python3从入门到实战—基础之生成器和迭代器

    Python从入门到实战系列--目录 切片 Python提供切片(Slice)操作符用来获取列表.元组等数据中的部分元素:如,读取列表 list[m:n]:表示获取m-n区间的元素 list[m:n: ...

  7. 10-Python3从入门到实战—基础之函数

    Python从入门到实战系列--目录 函数的定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的语法 def 函数名(参数列表): 函数体 函数代码块以 def 关键词开头 ...

  8. 9-Python3从入门到实战—基础之条件控制语句

    Python从入门到实战系列--目录 条件判断 if 条件判断 if 语句语法 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> ...

  9. 2-Python3从入门到实战—基础之运算符

    Python从入门到实战系列--目录 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 Pyt ...

随机推荐

  1. MyBatis Generator使用示例

    一.MBG介绍 MyBatis Generator(MBG)是一个Mybatis的代码生成器,它可以用来生成可以访问(多个)表的基础对象.MBG解决了对数据库操作有最大影响的一些简单的CRUD(插入, ...

  2. android 布局文件中xmlns:android="http://schemas.android.com/apk/res/android"

    http://blog.163.com/benben_long/blog/static/199458243201411394624170/ xmlns:android="http://sch ...

  3. Cocos2d-x CCControlPotentiometer之圆形音量button及特效

    1. 圆形音量button 事实上作者的本意应该是叫做"电位计button".可是我觉得它和我们的圆形音量button非常像,所以就这么叫它吧~先看效果: 好了,不多解释,本篇到此 ...

  4. oracle sqlplus 回退键以及上下键

    Linux中安装完Oracle后,默认的 sqlplus 上下键是不能用的,安装了 rlwrap 之后就能通过上下键翻回历史命令了 下载地址 https://github.com/hanslub42/ ...

  5. LCA转换成RMQ

    LCA(Lowest Common Ancestor 最近公共祖先)定义如下:在一棵树中两个节点的LCA为这两个节点所有的公共祖先中深度最大的节点. 比如这棵树 结点5和6的LCA是2,12和7的LC ...

  6. Mybatis学习总结(三)——SqlMapConfig.xml全局配置文件解析

    经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置 ...

  7. Linux 防火墙 开放 端口 iptables

    查看状态:iptables -L -n 方法1.使用iptables开放如下端口/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT保存/etc/ ...

  8. rc/rs的区别 -- 多层次分析

    1.rs是rc的升级版本,rs一般会结合deployment 2.rc的pod如果要配置镜像等内容,要修改后删除原来的rc再创建  命令式,影响业务比较大 3.rs一般配合deployment,可以动 ...

  9. GIT 远程仓库:添加远程库、从远程库克隆

    到目前为止,我们已经掌握了如何在Git仓库里对一个文件进行时光穿梭,你再也不用担心文件备份或者丢失的问题了. 可是有用过集中式版本控制系统SVN的童鞋会站出来说,这些功能在SVN里早就有了,没看出Gi ...

  10. ASP.NET的生命周期

    我主要参考了这些文章 ASP.NET应用程序与页面生命周期, IIS处理Asp.net请求和 Asp.net页面生命周期 asp.net页面的生命周期 页面生命周期开始 (一)页面生命周期的主要阶段包 ...