python之字典的相关操作
一、什么是字典
dict 用{}表示,用来存放键值对数据
{key:value}
键:具有唯一性,不能重复,不可变
必须是可哈希的(不可变的数据类型)
字典是无序的,没有索引
值: 没有任何限制
已知的可哈希(不可变)的数据类型:int,str,bool,tuple
不可哈希(可变)的数据类型:list,dict,set
语法:{key1 : value1 , key2 : value2 … }

二.字典的增/删/改/查
2.1增
dic['key'] = value新增.如果键存在于字典中,则强制修改
#当这个键没在字典中就是添加
setdefult(key,value)如果键在字典中存在,则不进行任何操作,不存在则进行添加

2.2删
pop(key)通过键删除,返回被删除的值
del dic[key] 没有返回值
dic.clear() 清空字典
dic.popitem() 随机删除,返回一个元组(key,value)
dic = {"jay":"who","i":"wang","zhao":"jie","niu":"li"}
ret = dic.pop("jay") #pop有返回值,返回被删除的value值
print(ret) #结果为:who
del dic["i"]
print(dic)
ret = dic.popitem() # 随机删除,返回一个元组(删除的key , 删除的value),可以用解构 k , v = dic.popitem()
print(ret) #结果为:('niu', 'li')
print(dic) # 清空字典
2.3改
字典的修改操作有:dic[key] = value,dic.update(),具体如下示例代码:

2.4查
for 循环 默认获取字典中的键
dic[key] 通过键查询,查不到会报错
dic.get(key) 查不到时候返回None
setdefault(key) 没有返回值

三、字典中独特的操作方法
keys values items
dic.keys() 得到一个高仿列表,可迭代。获取到字典中的每一个键
dic.values 获取字典中的每一个值,得到一个仿真列表
dic.items 获取到所有的键值对以元组的形式存在一个高仿的列表中;
字典的修改操作有:dic[key] = value,dic.update(),具体如下示例代码:
print(dic.keys()) # (高仿列表)
print(dic.values()) # (高仿列表)
print(dic.items())
for i in dic.keys():
print(i)
for i in dic:
print(i) #获取到字典中的每一个键
for i in dic.values():
print(i) #获取到字典中的每一个值
for i in dic.items():
print(i) #获取到字典中的每一个键值对

四、解构(解包)
a,b = '12' #将后边解构打开按位置赋值给变量 支持 字符串 列表 元组
print(a)
print(b)
dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
for a,b in dic.items():
print(a)
print(b)
dic1 = {}
dics = dic1.fromkeys([1,2,3],'abc')
五、字典的嵌套
与列表的嵌套相似,一层一层看。
dic = {
'name':'汪峰',
'age':43,
'wife':{
'name':'国际章',
'age':39,
'salary':100000
},
'baby':[
{'name':'熊大','age':18},
{'name':'熊二','age':15},
]
}
dic['baby'][0]['age'] = 19
print(dic)


python之字典的相关操作的更多相关文章
- python的字典及相关操作
一.什么是字典 字典是Python中最强大的数据类型之一,也是Python语言中唯一的映射类型.映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希 ...
- Python中字典的相关操作
1. Python类似于Java中的哈希表,只是两种语言表示的方式是不一样的,Python中的字典定义如下: 在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种 ...
- Python 基础之集合相关操作与函数和字典相关函数
一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...
- python数据类型:字典dict常用操作
字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...
- python对数据类型的相关操作
一.int的相关操作 int只有一个相关操作,bit_length() 用于计算一个数字的二进制长度 二.bool的相关操作 1.把数字转换成bool,除了0,返回的都是True a = 10 p ...
- day07-Python运维开发基础(深/浅拷贝、字典/集合/相关操作)
1. 深拷贝与浅拷贝 # ### 深拷贝 和 浅拷贝 """ a = 7 b = a a = 8 print(b) lst1 = [1,2,3] lst2 = lst1 ...
- 026.Python面向对象类的相关操作以及对象和类的删除操作
类的相关操作 定义的类访问共有成员的成员和方法 定义的类动态添加公有成员的属性和方法 定义的类删除公有成员的属性和方法 1 定义一个基本的类 #定义一个类 class Plane(): #添加一个共有 ...
- 011.Python的列表的相关操作
一 列表的相关操作 1.1 列表的拼接 lst1 = [1,2,3] lst2 = [4,5,6] res = lst1 + lst2 print(res) 执行 [root@node10 pyth ...
- Python字典及相关操作(内含例题)
Python字典类型 今天将会介绍一种在python中十分常见的组合数据类型——字典 通过一些实例来理解字典中的常规操作 什么是字典类型? 列表中查找是通过整数的索引(元素在列表中的序号)来实现查找功 ...
随机推荐
- Web性能测试中的几个概念【转】
每秒查询率QPS:对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,即每秒请求数,即最大谈吐能力. 并发数:并发数和QPS是不同的概念,一般说QPS会说多少并发用户下QPS,当QPS相同时, ...
- laravel基础课程---8、laravel响应和视图(响应是什么)
laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...
- centos7下面搭建lnmp环境
参考大神博客: http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan-ma-an-zhu ...
- 团队作业第5周——测试与发布(Alpha版本)
1.发现的bug a.同时按下和蛇前进方向相反的键和垂直方向的任意一个键贪吃蛇会死亡(比如贪吃蛇向右行走,同时按左上或左下都会game over) b.刷新的苹果会在蛇身上出现 暂时还没能力修复,以后 ...
- hdu-5795 A Simple Nim(组合游戏)
题目链接: A Simple Nim Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- VC6.0实用小技巧
VC6.0的若干实用小技巧 .检测程序中的括号是否匹配 把光标移动到需要检测的括号(如大括号{}.方括号[].圆括号()和尖括号<>)前面,键入快捷键 “Ctrl+]”.如果括号匹配正确, ...
- Mac环境下安装node.js、npm、express
一:node.js安转 方法一:下载node.js for Mac 地址: http://nodejs.org/download/ 直接下载 pkg的,双击安装,一路点next,很容易就搞定了. 安装 ...
- poj3017 Cut the Sequence[平衡树+单调队列优化]
这里已经讲得很清楚了. 本質上是決策點與區間最大值有一定關係,於是用单调队列来维护决策集合(而不是常规的),然后在决策集合中选取最小值. 然后觉得这题方法还是很重要的.没写平衡树,用优先队列(堆)来维 ...
- WCF的用户名+密码认证方式(转)
概述 今天在做Master Data Service(后面简称MDS)项目时需要通过WCF来使用MDS的API,从而对MDS的数据进行操作.在这个过程中,遇到了一个棘手的问题,就是在客户端调用Web ...
- mongodb入门-关系型RDMS数据库对比及适用场景
引言 最近工作接触到了mongodb数据库,记录下个人对其的理解和使用情况.虽然mongodb 出来的时间已经不短,但是相对mysql mssql oracle 这样传统的关系型数据库来说还是比较年轻 ...