python基础—字典
阅读文本需要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基础—字典的更多相关文章
- python基础--字典
Python基础--字典 字典的常用函数: dict.clear( )--->无任何返回值 说明: 清除字典内的所有的元素 语法: In [5]: dict.clear? Type: metho ...
- python基础——字典(dict)
字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 . dict1 = {} ...
- Python基础:字典(dict)与集合(set)
查找场景下与列表的性能对比 字典与集合之所以高效的原因是:内部结构都是一张哈希表. 平均情况下插入.查找和删除的时间复杂度为 O(1). 假设有数量100,000的产品列表: import time ...
- python基础——字典
字典内置函数&方法 Python字典包含了以下内置函数: 序号 函数及描述 1 cmp(dict1, dict2)比较两个字典元素. 2 len(dict)计算字典元素个数,即键的总数. 3 ...
- python 基础 字典
字典操作 字典一种key - value 的数据类型 特性: 无顺序 去重 查询速度快,比列表快多了 比list占用内存多 语法: info = { 'abc001': "Ben" ...
- Python基础--字典:当索引不好用时
当列表或是元组的索引不能达到我们的目的时,我们想到了还有一种序列,即字典. 创建 字典 由多个键以及相应的值构成的键-值对组成. 键唯一.值能够不唯一 phonebook = {'xidada':'1 ...
- Python基础——字典和有序字典
字典 说明: 在 Python 中, 字典 是一系列 键 — 值对 .每个键都与一个值相关联,你可以使用键来访问与之相关联的值.与键相关联的值可以是数字.字符串.列表乃至字典.事实上,可将任何 Pyt ...
- python基础——字典dict
1.概念: (1)字典dict,是一系列的键—值对.每个键key都和一个值value相映射.(字典是python中唯一的映射类型.) (2)每一项item,是一个键值对key—value对. (3)键 ...
- Python基础——字典(dict)
由键-值对构建的集合. 创建 dic1={} type(dic1) dic2=dict() type(dic2) 初始化 dic2={'hello':123,'world':456,'python': ...
随机推荐
- Python学习---爬虫学习[requests模块]180411
模块安装 安装requests模块 pip3 install requests 安装beautifulsoup4模块 [更多参考]https://blog.csdn.net/sunhuaqiang1/ ...
- mysql 批量插入500W 测试
set_time_limit(800);$dsn = 'mysql:host=localhost;dbname=test';$db = new PDO($dsn,'root','',array(PDO ...
- Service Mesh服务网格之Linkerd架构
今天详细介绍一下Linkerd的架构. 控制平面 Linkerd控制平面是一组在专用Kubernetes命名空间中运行的服务(在Linked默认情况下).这些服务完成各种事情——聚合遥测数据.提供面向 ...
- Mysql数据库字符集问题
修改mysql数据库的默认编码方式 修改my.ini文件 加上 default-character-set=gb2312 设定数据库字符集 alter database da_name default ...
- Jenkins 配合 GitLab 实现分支的自动合并、自动创建 Tag
Jenkins 配合 GitLab 实现分支的自动合并.自动创建 Tag 背景 GitFlow工作流简介 Gitflow工作流定义了一个围绕项目发布的严格分支模型,它会相对复杂一点,但提供了用于一个健 ...
- IntelliJ 禁用 Search Everywhere
发现自: https://youtrack.jetbrains.com/issue/IDEA-114933#comment=27-603899 Open lib/resources.jar/idea/ ...
- 1260. [CQOI2007]涂色【区间DP】
Description 假设你有一条长度为5的木版,初始时没有涂过任何颜色.你希望把它的5个单位长度分别涂上红.绿.蓝.绿.红色,用一个长度为5的字符串表示这个目标:RGBGR. 每次你可以把一段连续 ...
- 【2015蓝桥杯省赛】C++ B组试题
1.奖券数目 作答:52488,正确 #include <iostream> using namespace std; bool check(int x) { ] = { }; while ...
- virtualbox+vagrant学习-4-Vagrantfile-5-Machine Settings
Machine Settings 配置命名空间:config.vm config.vm的设置将修改vagrant管理的机器的配置 Available Settings可用设置 config.vm.ba ...
- Python的编码注释【转】
格式有多种,但必须有coding:[编码]或者coding=[编码],如: # -*- coding:utf-8 -*- # coding:utf-8 # coding=utf-8 转自:https ...