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的增加而变慢;
*需要占用大量的内存,内存浪费多;
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 和dictionary相比,list的特性:
- 查找和插入的时间随着元素的增加而增加;
- 占用空间小,浪费内存很少;
7-Python3从入门到实战—基础之数据类型(字典-Dictionary)的更多相关文章
- 5-Python3从入门到实战—基础之数据类型(列表-List)
Python从入门到实战系列--目录 列表定义 list:列表(list)是Python内置的一种数据类型,list是一种有序的集合,索引从0开始,可以进行截取.组合等: //创建列表 list1 = ...
- 3-Python3从入门到实战—基础之数据类型(数字-Number)
Python从入门到实战系列--目录 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionar ...
- 8-Python3从入门到实战—基础之数据类型(集合-Sets)
Python从入门到实战系列--目录 集合的定义 集合(set)和字典类似,也是一组key的集合,但不存储value:由于key不能重复,所以,在set中,没有重复的key. 创建一个set,需要提供 ...
- 6-Python3从入门到实战—基础之数据类型(元组-Tuple)
Python从入门到实战系列--目录 元组的定义 定义元组只需要在括号中添加元素,并使用逗号隔开即可 tup = ('Python','Java','C++','Kotlin') 元组与列表的区别 P ...
- 4-Python3从入门到实战—基础之数据类型(字符串-String)
Python从入门到实战系列--目录 字符串表示 在 Python 3版本中,字符串是以 Unicode 编码的:Python 中使用 ' '或者" "表示字符串 msg = 'H ...
- 11-Python3从入门到实战—基础之生成器和迭代器
Python从入门到实战系列--目录 切片 Python提供切片(Slice)操作符用来获取列表.元组等数据中的部分元素:如,读取列表 list[m:n]:表示获取m-n区间的元素 list[m:n: ...
- 10-Python3从入门到实战—基础之函数
Python从入门到实战系列--目录 函数的定义 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数的语法 def 函数名(参数列表): 函数体 函数代码块以 def 关键词开头 ...
- 9-Python3从入门到实战—基础之条件控制语句
Python从入门到实战系列--目录 条件判断 if 条件判断 if 语句语法 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> ...
- 2-Python3从入门到实战—基础之运算符
Python从入门到实战系列--目录 Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 算术运算符 Pyt ...
随机推荐
- <20190102>收录些比较低级错误导致的主板故障现象
今天收录俩个比较低级的错误. 故障现象: 水冷排风扇高速运转, 并无法调控. 现在CPU散热的水冷排都设计了三条线, 温控4Pin , 水泵线 3Pin , 接在机箱上USB口取电的灯线或者 ...
- 西安80投影坐标系转WGS84地理坐标系如何求七参数
需求:西安80投影坐标系(平面坐标)转为WGS84地理坐标系(球面坐标) 这其中涉及的问题主要有以下两点: 1.一个是投影坐标系,一个是地理坐标系,而七参数指的是两个地理坐标系之间的转换,因此需要把投 ...
- 【HDU4507】恨7不成妻
Description 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 ...
- Jmeter之mysql性能测试
Jmeter官网地址:https://jmeter.apache.org/ 作为开发人员,必要的性能测试还是需要掌握的,虽然配置druid可以比较直观获得sql的执行时间,那些表被访问的比较多等等,但 ...
- 稳压二极管&TVS二极管
稳压二极管 稳压二极管利用的特性是:二极管被反向击穿之后,随着电流的变化,稳压二极管两端电压维持不变的特性: 普通二极管反向击穿后就坏了,但是稳压二极管却可以恢复,而且在被击穿后处在正常的工作状态: ...
- FreeRTOS的任务非运行态
当FreeRTOS启动任务调度器以后,任务调度器会在心跳中断函数中确定下一个要运行的任务,如果任务调度器仅仅依靠任务优先级来判断该运行哪个任务,这样会造成低优先级的任务根本没法运行,因为FreeRTO ...
- BP浅谈
之前一直对BP的理解不透彻,这可不行,这个可是超经典的广泛应用在ML中的求偏导的方法.本博来自<神经网络与机器学习>P86页. 在用到bp的地方我们都是为了使用梯度下降法,并求出他的偏导数 ...
- day85
频率校验 源码分析 声明:基于rest_framework的频率校验 1.首先我们进入到APIView下的dispatch,因为由此方法开始分发的 2.可以看到dispatch方法下有一个initia ...
- 01-Mirrorgate简介
1.项目信息 MirrorGate是一款WallBoard应用程序,旨在为团队提供与软件开发相关的所有不同领域的快速反馈. 项目地址:https://github.com/BBVA/mir ...
- (原创)odoo关系字段在视图中的行为控制 总结
字段类型 选项或属性 格式示例 描述 many2one , many2many_tags(widget) no_create options='{"no_create":True} ...