python 全栈开发

一.字典

1. 字典的概念:

字典 : dict 用 {} 来表示,   键位值数据. { key , value }    具有唯一性.

键:都必须是可哈希的     不可变的数据类型就可以当做字典中的键

值;没有任何限制

dic = {'name':'alex','age':9000}   #字符串
print(dic) dic = {1:'a',2:'b',3:'c'} #数字
print(dic) dic = {True:'1',False:'0'} #布尔值
print(dic) dic = {(1,2,3):'abc'} #元组
print(dic) dic = {[1,2,3]:'abc'}
print(dic)

2.字典的增删减除

(1)字典的增添

dic[ key ] = value                                 新增

dic.setdefauit ( key , value)                 如果键在字典中存在,就不进行任何操作,不存在就进行添加. 可以通过 key 查询. 如果没有这个 , key就会返回 None.

(2)字典的删除

pop( key)                                 通过 Key 删除, 有返回值,返回的是被删除的 value.

del dic[ key ]

clear( )                                     清除

dic.popitem( )                         随机删除, 返回值是一个元组 ( key , value)

(3)字典的修改

dic [ key ]  = value                    强制修改

dic.update(字典 )                    升级,更新修改

(4)字典的查询

for 循环                   循环默认获取字典中的键

dic [ key ]                  没有这个键时会报错

get ( key )                 没有这个时会返回None        可以指定返回内容.

setdefault ( key)             注: 这个坑比较大.

dic = {'李启政':'小李','孙福来':'小孙','张庆':'小张','郑强':'小郑'}
字典的增添
dic ['徐建'] = '小徐'
print(dic)
dic.setdefault('徐建','小徐')
print(dic)
字典的删减
dic.pop('李启政')
print(dic)
del dic['李启政']
print(dic)
dic.popitem()
print(dic)
字典的修改
dic ['李启政'] = '李超奇'
print(dic)
dic.update(dic)
print(dic)
字典的查询
for i in dic:
print(i)
print(dic['李启政'])
print(dic.get('李启政'))
print(dic.setdefault('李启政'))

3.字典的其他操作:     (字典中独特的部分)

keys       获取字典的每一个键,存在一个高仿的列表中

values     获取字典中每一个值,存在一个高仿的列表中

items      获取字典中每一个键值对, 以元组的形式存在一个高仿的列表中

解构 ( 解包)

a , b = 1, 2                #将后面的解构打开按位置赋值给变量.

a , b = (1 ,2)                       支持字符串,列表,元组.

a , b = [1 , 2]

print(a)

(b)

其他操作(字典中独特的)
keys values items 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)

4.字典的嵌套

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 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整性约束)

    昨日内容回顾 一.回顾 定义:mysql就是一个基于socket编写的C / S架构的软件 包含: ---服务端软件 - socket服务端 - 本地文件操作 - 解析指令(mysql语句) ---客 ...

  2. python 全栈开发,Day32(知识回顾,网络编程基础)

    一.知识回顾 正则模块 正则表达式 元字符 : . 匹配除了回车以外的所有字符 \w 数字字母下划线 \d 数字 \n \s \t 回车 空格 和 tab ^ 必须出现在一个正则表达式的最开始,匹配开 ...

  3. python 全栈开发,Day52(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)

    昨日作业讲解: 京东购物车 京东购物车效果: 实现原理: 用2个盒子,就可以完整效果. 先让上面的小盒子向下移动1px,此时就出现了压盖效果.小盒子设置z-index压盖大盒子,将小盒子的下边框去掉, ...

  4. Python全栈day10(基础知识练习题)

    一,执行python的两种方式 1,写在脚本里面调用python执行,例如python test.py 2,  输入python在命令行交互执行,例如 python  >>> pri ...

  5. python 全栈开发,Day54(关于DOM操作的相关案例,JS中的面向对象,定时器,BOM,client、offset、scroll系列)

    04-jQuery的属性操作 jquery的属性操作模块分为四个部分:html属性操作,dom属性操作,类样式操作和值操作 html属性操作:是对html文档中的属性进行读取,设置和移除操作.比如at ...

  6. 巨蟒python全栈开发-第8天 文件操作

    一.文件操作 今日大纲: 1.文件操作->open() open 打开 f=open(文件路径,mode='模式',encoding='编码格式') #python最最底层操作的就是bytes ...

  7. python学习之老男孩python全栈第九期_day009之文件操作总结

    # 文件处理# 打开文件# open('路径','打开方式', '指定编码方式')# 打开方式:r w a 可读可写:r+ 可写可读:w+ 可追加可读:a+ b# r+ :打开文件直接写,和读完再写 ...

  8. 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】

    点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...

  9. python全栈 字符串,整数,bool 数据类型运用

    python全栈 一.基本数据类型 1.int: 整数 2.str: 字符串, 一般不存放大量数据. 3.bool: 布尔值,用来判断. True  或者  False 4.list:  列表,用来存 ...

随机推荐

  1. linux inode 详解 / 线上inode爆满解决方案

    本文大量参考阮一峰大神博客,整理笔记 之所以写inode文章是由于一次线上问题,引发对inode深入的思考. 磁盘的inode监控与磁盘空间的监控同等重要,线上服务器一定要做好磁盘inode与磁盘空间 ...

  2. beeline 连接hive

    HiveServer2是一个能使客户端针对hive执行查询的一种服务,与HiverServer1比较,它能够支持多个客户端的并发请求和授权的:HiveCLI 和 hive –e的方式比较单一,HS2允 ...

  3. centos7.5安装minikube kubernetes

    前提:已安装centos7.5安装VirtualBox Minikube是什么?Minikube是一种方便在本地运行Kubernetes的工具. Minikube 是可以在VM中运行单节点的Kuber ...

  4. <记录> PHP Redis操作类

    namespace common\controller; class Redis { public $redisObj = null; //redis实例化时静态变量 static protected ...

  5. 快速掌握和使用Flyway

    什么是Flyway? 转载:https://blog.waterstrong.me/flyway-in-practice/ Flyway is an open-source database migr ...

  6. 机器学习进阶-图像梯度运算-Sobel算子 1. cv2.Sobel(使用Sobel算子进行计算) 2. cv2.convertScalerAbs(将像素点进行绝对值的计算)

    1.cv2.Sobel(src, ddepth, dx, dy, ksize)  进行sobel算子计算 参数说明:src表示当前图片,ddepth表示图片深度,这里使用cv2.CV_64F使得结果可 ...

  7. 微信、企业微信和支付窗 SDK 三合一,JeeWx-api 1.2.0 版本发布

    摘要: JEEWX-API 是第一款JAVA版微信极速SDK,同时集成企业微信SDK,支付窗SDK,可以快速的基于她进行微信公众号.企业微信.支付窗应用开发.基于 jeewx-api 开发可以立即拥有 ...

  8. java 中AIO,BIO,NIO的区别(茅塞顿开)

    看到知乎上一篇回答,解决了疑惑:https://www.zhihu.com/question/56673416 第三位作者的回答...原谅我没有登录知乎,不然一定给他留赞. 也可以参考:https:/ ...

  9. 向SqlParameter内动态添加参数

    动态向SqlParameter 里添加相应参数,方法如下 先定义一个List,然后再往List里面添加SqlParameter对象,然后将List转为SqlParameter数组即可 List< ...

  10. js 提示框的实现---组件开发之(二)

    接着第上一个,在js文件里再增加一个 popModal 模块,实现弹框效果 css 代码: .alert { padding: 15px; margin-bottom: 20px; border: 1 ...