一、什么是字典

  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之字典的相关操作的更多相关文章

  1. python的字典及相关操作

    一.什么是字典 字典是Python中最强大的数据类型之一,也是Python语言中唯一的映射类型.映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希 ...

  2. Python中字典的相关操作

    1. Python类似于Java中的哈希表,只是两种语言表示的方式是不一样的,Python中的字典定义如下: 在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种 ...

  3. Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

  4. python数据类型:字典dict常用操作

    字典是Python语言中的映射类型,他是以{}括起来,里面的内容是以键值对的形式储存的: Key: 不可变(可哈希)的数据类型.并且键是唯一的,不重复的. Value:任意数据(int,str,boo ...

  5. python对数据类型的相关操作

    一.int的相关操作 int只有一个相关操作,bit_length()   用于计算一个数字的二进制长度 二.bool的相关操作 1.把数字转换成bool,除了0,返回的都是True a = 10 p ...

  6. day07-Python运维开发基础(深/浅拷贝、字典/集合/相关操作)

    1. 深拷贝与浅拷贝 # ### 深拷贝 和 浅拷贝 """ a = 7 b = a a = 8 print(b) lst1 = [1,2,3] lst2 = lst1 ...

  7. 026.Python面向对象类的相关操作以及对象和类的删除操作

    类的相关操作 定义的类访问共有成员的成员和方法 定义的类动态添加公有成员的属性和方法 定义的类删除公有成员的属性和方法 1 定义一个基本的类 #定义一个类 class Plane(): #添加一个共有 ...

  8. 011.Python的列表的相关操作

    一 列表的相关操作 1.1  列表的拼接 lst1 = [1,2,3] lst2 = [4,5,6] res = lst1 + lst2 print(res) 执行 [root@node10 pyth ...

  9. Python字典及相关操作(内含例题)

    Python字典类型 今天将会介绍一种在python中十分常见的组合数据类型——字典 通过一些实例来理解字典中的常规操作 什么是字典类型? 列表中查找是通过整数的索引(元素在列表中的序号)来实现查找功 ...

随机推荐

  1. Intellij IDEA 14代码错误提示如何调出来

  2. MySQL常用的数据类型及函数_20160920

    1.常用数据类型 针对创建数据表时候 需要指定字段的数据类型,我整理的是工作常用的几种 可以参考看下数据类型 http://www.w3school.com.cn/sql/sql_datatypes. ...

  3. bzoj4555: 求和sum 快速傅立叶变换

    题目大意 给定\(S(n,m)\)表示第二类斯特林数,定义函数\(f(n)\) \[f(n) = \sum_{i=0}^n\sum_{j=0}^iS(i,j)*2^j*(j!)\] 给定正整数\(n, ...

  4. jdk安装图解--windows系统(第一次安装和第二次安装区别)

    第一次安装可参考 https://jingyan.baidu.com/article/22fe7cedc9b93e3003617f64.html 第二次安装,如已经配置好环境变量,cmd下执行java ...

  5. hdu 4609 3-idiots —— FFT

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4609 算不合法的比较方便: 枚举最大的边,每种情况算了2次,而全排列算了6次,所以还要乘3: 注意枚举最大 ...

  6. VijosP1250:分组背包

    背景 Wind设计了很多机器人.但是它们都认为自己是最强的,于是,一场比赛开始了~ 描述 机器人们都想知道谁是最勇敢的,于是它们比赛搬运一些物品. 它们到了一个仓库,里面有n个物品,每个物品都有一个价 ...

  7. Elasticsearch学习概念之curl

    curl,简单认为是可以在命令行下访问url的一个工具.即增删改查. curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求. 查看curl的 ...

  8. ubuntu下终于安装好了nvidia的gt540显卡驱动

    ubuntu下终于安装好了nvidia的gt540显卡驱动.估计好多童鞋怕麻烦都放弃安装了哈. 先看看效果. ~$ lspci |grep -i vga :) :00.0 VGA compatible ...

  9. Servlet拦截匹配规则可以自已定义,拦截哪种URL合适?

    Servlet拦截匹配规则可以自已定义,拦截哪种URL合适? 当映射为@RequestMapping("/user/add")时,为例: 1.拦截*.do.*.htm, 例如:/u ...

  10. Halcon - 获取图像数据(灰度值)

    在 Halcon 中,或许大部分人都知道如何通过 get_grayval 获取图像的灰度值,这条算子在获取单个像素时是比较好用的.但是当你想获取一幅大尺寸图像的一行甚至所有的灰度数据时,它就会变得很吃 ...