阅读文本需要3分钟,不建议跳读

节目清单

字典是python中最重要的数据类型,字典由“键-值”对组成的集合,字典中的“值”通过“键”来引用。这里将介绍字典的定义、访问、排序等功能。

字典的创建

字典的键值对之间由“逗号”隔开,并且被包含在一对花括号中,与Java中的类作用相似。字典的创建非常简单:

创建空字典,只需一对花括号就可以了

字典的key,可以是字符型,也可以是数字,例如

字典的访问

字典的访问与元组、列表的有所不同,元组和列表是通过数字索引来获取对应的值,而字典是通过key值获取相对应的value值。例如:

字典的添加、删除和修改非常简单,添加或修改只需要编写一条赋值语句,例如:

如果索引x不在字典dict的key列表中,字典dict将自动添加一条新的映射;如果索引存在字典dict的key列表中,字典dict将直接修改索引x对应的value值

字典的移除

字典与列表不同,字典没有remove()操作。字典元素的删除可以调用实现,属于内建函数,直接调用即可。列表可以调用弹出列表中一个函数,字典也有pop(),该方法的声明与列表的pop()有些不同。

必须指点参数才能删除对应的值。如果需要清除字典的所有内容,可以掉用字典的。

字典的遍历

字典除了可以采用之外,还可以采用实现字典的遍历操作,items()返回一个有若干元组组成的列表。例如:

输出结果为:

可见,把字典中每一对key和value组成一个元组,并把这些元组存放在列表中返回。

1. for遍历

2. items()遍历

常用方法

例子:

输出结果:

字典的排序、复制

在列表的排序可以使用实现,字典的排序同样可以使用该函数

输出结果变为列表:

实现了字典的浅拷贝操作,当然有浅拷贝就有深拷贝。

举个栗子来说明一下,深浅拷贝的区别:

例如,字典B浅拷贝字典A的数据,如果字典B得数据发生添加、删除或者修改操作,字典A的数据也将发生变化;相反,如果字典B深拷贝字典A的数据,字典B的数据即使发生变化,也不会影响到字典A

深浅拷贝可以使用到python中的任何对象,不只是限于字典。在python中可以使用copy()模块来实现对象的深拷贝和浅拷贝,用于深拷贝,用于实现浅拷贝操作。

总结

至此,「python基础—字典」已经分享完了,整个python中常见的数据结构类型也就完结了,希望大家都已经掌握了。希望大家看过之后,都能自己动手实践。毕竟只有自己动手才能发现自己的问题所在。

原文链接:http://t.cn/R18ZXMR

欢迎加入Python 技术交流群:238757010

python基础—字典的更多相关文章

  1. python基础--字典

    Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...

  2. python基础——字典(dict)

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...

  3. Python基础:字典(dict)与集合(set)

    查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...

  4. python基础——字典

    字典内置函数&方法 Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 ...

  5. python 基础 字典

    字典操作 字典一种key - value 的数据类型 特性: 无顺序 去重 查询速度快,比列表快多了 比list占用内存多 语法: info = { 'abc001': "Ben" ...

  6. Python基础--字典:当索引不好用时

    当列表或是元组的索引不能达到我们的目的时,我们想到了还有一种序列,即字典. 创建 字典 由多个键以及相应的值构成的键-值对组成. 键唯一.值能够不唯一 phonebook = {'xidada':'1 ...

  7. Python基础——字典和有序字典

    字典 说明: 在 Python 中, 字典 是一系列 键 — 值对 .每个键都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将任何 Pyt ...

  8. python基础——字典dict

    1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...

  9. Python基础——字典(dict)

    由键-值对构建的集合. 创建 dic1={} type(dic1) dic2=dict() type(dic2) 初始化 dic2={'hello':123,'world':456,'python': ...

随机推荐

  1. Redis学习---Redis操作之其他操作

    全局有效的其他操作 save 强制将内存/缓存中的key刷到硬盘上 ------------------------------------------------------------------ ...

  2. Redis学习---Redis操作之Hash

    hash表现形式上有些像pyhton中的dict,可以存储一组关联性较强的数据[有点像嵌套字典] hset(name, key, value) --> 设置hash的操作 # 参数:     # ...

  3. 服务器安装LNMP及构建个人站点

    服务器安装LNMP(centos6.6+nginx1.7.12+mysql5.6.24+php5.6.7) 本次安装  centos6.6+nginx1.7.12+mysql5.6.24+php5.6 ...

  4. route命令使用

    ---恢复内容开始--- 利用route命令可以实现内外网同时访问 route 命令参数: route [-f] [-p] [Command [Destination] [mask Netmask] ...

  5. 项目属性的target platform和target platform version到底是什么(vs2015开发windows驱动小记)

    根据官方对属性页的介绍(General Property Page (Project))可了解: target platform是build后的结果会跑在哪个平台,例如windows,android, ...

  6. ssh无密码登陆远程机,pssh轻批量工具

    #B(client)--------A(g_server)#A:   ssh-keygen -t rsa (g_server)#B:    scp -P 58422 root@g_server_ip: ...

  7. Python自动化之ajax返回表单验证的错误信息和序列化扩展

    form内置序列化错误 如果使用form提交数据的时候,可以直接返回错误信息到模板里面进行渲染 但是如果使用ajax处理呢 from django import forms from django.f ...

  8. 论文笔记 M. Saquib Sarfraz_Pose-Sensitive Embedding_re-ranking_2018_CVPR

    1. 摘要 作者使用一个pose-sensitive-embddding,把姿态的粗糙.精细信息结合在一起应用到模型中. 用一个新的re-ranking方法,不需要重新计算新的ranking列表,是一 ...

  9. Freemarker 基础概念

    一.概述 FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写,FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用 ...

  10. CentOS 安装第三方yum源

    yum install wget #安装下载工具 wget http://www.atomicorp.com/installers/atomic #下载 sh ./atomic #安装 yum che ...