7-Python3从入门到实战—基础之数据类型(字典-Dictionary)

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的特性:
    • 查找和插入的时间随着元素的增加而增加;
    • 占用空间小,浪费内存很少;

原文地址:https://www.cnblogs.com/shen-hua/p/8512352.html

时间: 2024-10-07 14:05:58

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

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

Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) Number(数字) Python3 支持三种不同的数值类型: int(整型).float(浮点型).complex(复数): 整型(Int),是正或负整数,不带小数点,int没有限制大小,表示为长整型,在Python 3里,只有一种整数类型 int,没有 python2 中的 Long

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

Python从入门到实战系列--目录 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 Python中算术运算符包含:+,-,*,/,%,**,// a = 10 b = 5 a + b 返回结果 15 a - 5 返回结果 5 a * b 返回结果 50 a / b 返回结果 2.0 # / 总是返回浮点数 a % b 返回结果 0 # % 表示a除以b取余数 a ** b 返回结果 10

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

Python从入门到实战系列--目录 函数的定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的语法 def 函数名(参数列表): 函数体 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (); 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. 函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明. 函数内容以冒号起始,并且缩进. return [表达式] 结束函数,选择性地返回一个值给调用方.不带表达式的return相当于返

Extjs5.0从入门到实战开发信息管理系统(Extjs基础、Extjs5新特性、Spring、Spring mvc、Mybatis)视频教程

Extjs5.0从入门到实战开发信息管理系统(Extjs基础.Extjs5新特性.Spring.Spring mvc.Mybatis)视频教程下载   联系QQ:1026270010 Extjs作为一款优秀的JS前端开发框架以其良好的架构.丰富的UI组件库.完善的文档和社区支持等诸多优点拥有广泛的市场应用空间,开发人员无需过多的关注HTML.CSS甚至各种常用JS算法,只需把精力放在业务逻辑上,利用各种组件的相互组合调用便可轻松而高效的开发出系统的前端页面. Extjs5在之前版本的基础上又推出

Capabilities 入门教程:基础实战篇

该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilities 的诞生背景和基本原理,本文将会通过具体的示例来展示如何查看和设置文件的 capabilities. Linux 系统中主要提供了两种工具来管理 capabilities:libcap 和 libcap-ng.libcap 提供了 getcap 和 setcap 两个命令来分别查看和设置文件的

对比学习资料《深度学习入门:基于Python的理论与实现》+《深度学习原理与实践》+《深度学习理论与实战基础篇》电子资料

我认为<深度学习入门:基于Python的理论与实现>电子书代码基本原理,简洁清楚,所用数学基本就是大一水平,适合做第一本入门书. <深度学习入门:基于Python的理论与实现>书代码实现的神经网络全是用numpy,超级适合刚刚入门想了解神经网络,数学不好看公式看不懂的人,看完这本基本就懂深度学习是弄啥子了. 如果连这本都看不懂的话,可以去看<Python神经网络编程>.我个人认为这两本书是最简单直白的方式让人理解神经网络的了. <深度学习原理与实践>电子书代

《Docker技术入门与实战》pdf

下载地址:网盘下载 内容简介  · · · · · · [编辑推荐] <Docker技术入门与实战>是中国首部docker著作,一线Docker先驱实战经验结晶,来自IBM和新浪等多位技术专家联袂推荐! <Docker技术入门与实战>结合企业生产环境,深入浅出地剖析 Docker 的核心概念.应用技巧.实现原理以及生态环境,为解决各类问题提供了有价值的参考. [内容简介] 在云计算时代,开发者将应用转移到云上已经解决了硬件管理的问题,然而软件配置和管理相关的问题依然存在.Docke

J2EE开发实战基础系列之开卷有益

时隔七年再次接触培训有关的事情,是兴奋,更多的是恐惧,不知该如何下手. 本系列针对有Java语法基础的开发者或者爱好者,从工作开发角度出发讲解,不同于其他视频,一切皆以实用为主,过程中如有疑问,请提问于我,回答将发布在教程中添加提问部分,提问者越多,教程覆盖越全面,以实际问题为主. ----------------------------------------------------------------------------------------- 首先介绍下目前J2EE方面培训的入门

docker-9 supervisord 参考docker从入门到实战

参考docker从入门到实战 使用 Supervisor 来管理进程 Docker 容器在启动的时候开启单个进程,比如,一个 ssh 或者 apache 的 daemon 服务.但我们经常需要在一个机器上开启多个服务,这可以有很多方法,最简单的就是把多个启动命令放到一个启动脚本里面,启动的时候直接启动这个脚本,另外就是安装进程管理工具. 本小节将使用进程管理工具 supervisor 来管理容器中的多个进程.使用 Supervisor 可以更好的控制.管理.重启我们希望运行的进程.在这里我们演示