python字典是什么

python字典 字典(英文名 dict),它是由一系列的键值(key-value)对组合而成的数据结构。
字典中的每个键都与一个值相关联,其中
键,必须是可 hash 的值,如字符串,数值等
值,则可以是任意对象
1. 创建字典 创建一个字典有三种方法
第一种方法:先使用 dict() 创建空字典实例,再往实例中添加元素
>>> profile = dict(name=张三, age=18)>>> profile{'name': '张三', 'age': 18} 第二种方法:直接使用 {} 定义字典,并填充元素。
>>> profile = {name: 张三, age: 18}>>> profile{'name': '张三', 'age': 18} 第三种方法:使用 dict() 构造函数可以直接从键值对序列里创建字典。
>>> info = [('name', '张三'), ('age', 18)]>>> dict(info){'name': '张三', 'age': 18} 第四种方法:使用字典推导式,这一种对于新手来说可能会比较难以理解,我会放在后面专门进行讲解,这里先作了解,新手可直接跳过。
>>> adict = {x: x**2 for x in (2, 4, 6)}>>> adict{2: 4, 4: 16, 6: 36} 2. 增删改查 增删改查:是 新增元素、删除元素、修改元素、查看元素的简写。
由于,内容比较简单,让我们直接看演示
查看元素 查看或者访问元素,直接使用 dict[key] 的方式就可以
>>> profile = {name: 张三, age: 18}>>> profile[name]'张三' 但这种方法,在 key 不存在时会报 keyvalue 的异常
>>> profile = {name: 张三, age: 18}>>> profile[gender]traceback (most recent call last): file , line 1, in keyerror: 'gender' 所以更好的查看获取值的方法是使用 get() 函数,当不存在 gender 的key时,默认返回 male
>>> profile = {name: 张三, age: 18}>>> profile.get(gender, male)'male' 新增元素 新增元素,直接使用 dict[key] = value 就可以
>>> profile = dict()>>> profile{}>>> profile[name] = 张三>>> profile[age] = 18>>> profile{'name': '张三','age': 18} 修改元素 修改元素,直接使用 dict[key] = new_value 就可以
>>> profile = {name: 张三, age: 18}>>> profile[age] = 28>>> profile{'name': '张三', 'age': 28} 删除元素 删除元素,有三种方法
第一种方法:使用 pop 函数
>>> profile = {name: 张三, age: 18}>>> profile.pop(age)18>>> profile{'name': '张三'} 第二种方法:使用 del 函数
>>> profile = {name: 张三, age: 18}>>> del profile[age]>>> profile{'name': '张三'} 3. 重要方法 判断key是否存在 在 python 2 中的字典对象有一个 has_key 函数,可以用来判断一个 key 是否在该字典中
>>> profile = {name: 张三, age: 18}>>> profile.has_key(name)true>>> profile.has_key(gender)false 但是这个方法在 python 3 中已经取消了,原因是有一种更简单直观的方法,那就是使用 in 和 not in 来判断。
>>> profile = {name: 张三, age: 18}>>> name in profiletrue>>> gender in profilefalse 设置默认值 要给某个 key 设置默认值,最简单的方法
profile = {name: 张三, age: 18}if gender not in profile: profile[gender] = male 实际上有个更简单的方法

万亿级消费级市场——物联网
Windows Phone 7智能手机电影应用概念终实现
比特币BBC说币种配置策略之后起新秀
解读通信干扰技术的发展
ArcGIS Runtime和ArcGIS Engine、ArcGIS Server的比较_arcgis desktop、arcgis engine和arcgis server三者之间有什么区别
python字典是什么
讯飞输入法语音“甩”出一款叫“子弹短信”的即时通讯软件
直流微电网多混合储能系统分层协调控制的新方法
InFocus富可视50英寸4K超清电视评测 软硬皆无短板音质一骑绝尘
PID算法实现及参数整定图解+代码
霍尼韦尔航空航天贸易服务将与南通华夏飞机公司开展合作
新型柔性微处理器:由超薄二维材料二硫化钼制成!
变频器标量控制是什么意思 变频器标量控制的优缺点
基于Intel Agilex FPGA的新型存储卡和服务器级解决方案
WWDC 2017今晚零点开幕 iOS11和Siri音箱是最大看点!
ECS为印度市场推出了新的支持AI和Amazon Alexa的设备
打造室内外一体化的隧道精确定位系统平台
启明云端新推基于SigmaStar SSD201显示芯片HMI彩屏方案
智能工厂多网段设备如何实现NAT转换和跨网段访问
惠普宣布了一系列新的台式机和笔记本电脑产品线