一、什么是字典

  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. 关于for 循环里 线程执行顺序问题

    最近在做项目时遇到了 这样的需求 要在一个for循环里执行下载的操作, 而且要等 下载完每个 再去接着走循环.上网查了一些 觉得说的不是很明确.现在把我用到的代码 贴上 希望可以帮到有此需求的开发者  ...

  2. 纯CSS3左右滑动开关按钮

    纯CSS3特效左右滑动开关按钮是一款非常酷的CSS3 3D开关按钮,点击按钮可以左右滑动,就像开关打开闭合一样的效果. http://www.huiyi8.com/sc/10626.html

  3. 粉红色织梦CMS企业模板

    粉红色织梦CMS企业网站模板,粉红色,织梦CMS,织梦企业模板,CMS模板. 模板地址:http://www.huiyi8.com/sc/7247.html

  4. python做图笔记

    1. 工具选择 了解了基本python,rodeo,anaconda套件这三种工具. (1)基本python,下载安装python的最新版(目前是python3.7).注意要使用安装版.安装好后,一般 ...

  5. BZOJ4088: [Sdoi2015]立体图

    高一联赛之后不久写的.当时看到这题就感觉特别优美.那个时候啥都不会,就只会这种模拟题,还只会最暴力的方法.对于每个方向的灯,枚举每个位置,手动枚举所有遮挡效果,并在枚举位置过程中传递遮挡效果. con ...

  6. 【Matlab】常用函数

    1.取整函数 ceil(x)返回不小于x的最小整数值.floor(x)返回不大于x的最大整数值.round(x)返回x的四舍五入整数值.

  7. poj1734Sightseeing trip——无向图求最小环

    题目:http://poj.org/problem?id=1734 无向图求最小环,用floyd: 在每个k点更新f[i][j]之前,以k点作为直接连到i,j组成一个环的点,这样找一下最小环: 注意必 ...

  8. 一次LVS+MySQL的主主负载均衡实战

    这是去年做的一个项目的记录,如果大家有更好的解决方案,欢迎指出. 先说说项目需求,用户需要在两个地市部署两套应用系统和两套数据库,在一个地市主用,在另一个热备:数据要互备:而且如果主用地市流量很大,可 ...

  9. 网络工具 NetCat

    http://netcat.sourceforge.net/ windows 版本 https://joncraton.org/blog/46/netcat-for-windows/ https:// ...

  10. strTemp.Format ("%.*lf",3,600.0);

    CString strTemp; strTemp.Format ("%.*lf",3,600.0); 这句话的含义?求指教   优质解答 这就是一个格式化输出,分号之前的CStri ...