今日内容大纲:

. 字典的增删改查以及其他操作
. 字典的嵌套

. 字典的增删改查以及其他操作
dic = {'太白':{'name': '太白', 'age': , 'sex': '男'},
'name_list': ['无双', 'alex', 'BlameK']} dic = {'name': '太白', 'age': , 'sex': '男', 'job': 'IT'}
第一种:
有key就改,没有key就直接添加
dic['sex'] = '女'
dic['name'] = 'alex' 第二种:
setdefault: 有这个key则不做任何操作但是返回对应的值,没有key就添加
dic.setdefault('sex')
dic.setdefault('hobby', '讲课')
dic.setdefault('name','alex')
print(dic.setdefault('name'))
print(dic)
pop 通过键去删除键值对,也有返回值.
如果没有此键, 并且设置了第二个参数,则不会报错,并且返回第二个参数
print(dic.pop('name'))
print(dic.pop('name1', None))
print(dic.pop('name1', '没有此键...'))
print(dic) popitem: python3. 之前随机删除某个键值对, python3. 之后删除最后一组键值对,有返回值
print(dic.popitem())
print(dic) clear 清空(把dic中内容清空,不是删除dic)
dic.clear()
print(dic) del
按照键删除键值对
del dic['name'] 删除整个字典(直接删除dic)
del dic
print(dic) name 'dic' is not defined
第一种:
dic['age'] =
print(dic) 第二种:
两个字典 update
dic = {'name': 'jin', 'age': , 'sex': 'male'}
dic2 = {'name': 'alex', 'weight': }
dic.update(dic2) 将dic2中的所有键值对覆盖并添加到dic中,dic2不变
print(dic)
print(dic2) dic.update(a='', b='', name='taibai')
print(dic)
print(dic['name'])
print(dic['name1']) 报错 print(dic.get('name')) jin
print(dic.get('name1')) None
print(dic.get('name1', '没有此键...')) dic.keys()
print(dic.keys(), type(dic.keys())) 类似于列表的容器中
l1 = list(dic.keys()) 可以转化成list
print(l1) for key in dic.keys():
print(key) dic.values() 可转化成list, 可遍历
print(dic.values())
print(list(dic.values())) dic.items() 可转化成list,可遍历
print(dic.items())
分别赋值
a, b = ,
print(a, b) a, b = [, ]
print(a, b) a, b = [(, ), (, )]
print(a, b) a =
b =
a, b = b, a
print(a, b) dic = {'name': 'jin', 'age': , 'sex': 'male'}
for i in dic.items():
print(i)
结果:
('name', 'jin')
('age', )
('sex', 'male') for k, v in dic.items():
print(k, v)
结果:
name jin
age
sex male for i in dic:
print(i)
结果:
name
age
sex print(len(dic))
. 字典的嵌套
dic = {'name_list': ['王双', 'alex', '孙飞', 'taibai'],
: {'name': 'taibai', 'age': , 'sex': '男'},
(, ): [, {'ip':'192.168.1.1', 'port': }]
} . 给name_list对应的列表追加一个值:司徒大人
dic['name_list'].append('司徒大人') . 将name_list对应的alex变成全部大写
dic['name_list'][] = dic['name_list'][].upper() . 将1对应的字典添加一个键值对:weight:
dic[]['weight'] = . 将1对应的字典的name键对应的名字taibai换成alex
dic[]['name'] = 'alex' . 将{'ip': '192.168.1.1', 'port': }此字典的port键值对删除
dic[(, )][].pop('port')

Python全栈学习_day005知识点的更多相关文章

  1. Python全栈学习_day002知识点

    今日大纲: . while循环 . 格式化输出 . 运算符 . 编码初识 1. while循环 - while 无限循环: while True: # 死循环 print('大悲咒') print(' ...

  2. Python全栈学习_day003知识点

    今日大纲: . 基础数据类型 总览 . int . bool . str . for循环 1. 基础数据类型 总览 int: 用于计算,计数等 str:'这些内容',用户少量数据的存储,便于操作 bo ...

  3. Python全栈学习_day001知识点

    今日大纲: . 变量. ***** . 常量.** . 注释.*** . 基础数据类型初识(int,str,bool). ***** . 用户输入 input ***** . 流程控制语句if. ** ...

  4. Python全栈学习_day005作业

    ,有如下变量(tu是个元祖),请实现要求的功能 tu = (, , {,,)}, ]) a. 讲述元祖的特性 b. 请问tu变量中的第一个元素 "alex" 是否可被修改? c. ...

  5. Python全栈学习_day009知识点

    今日大纲: . 函数的初识 . 函数的返回值 . 函数的参数 1. 函数的初识 统计字符串s的总个数(不能用len) s='fkahfkahofijalkfkadhfkjadhf' count = f ...

  6. python全栈学习路线

    python全栈学习路线-查询笔记 查询目录 一,硬件                                                                    十一,数据 ...

  7. python全栈学习--day4

    列表 说明:列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:   1 li = ['alex',123,Ture,(1,2,3,'wu ...

  8. python全栈学习--day3

    一.基础数据类型 基础数据类型,有7种类型,存在即合理. 1.int 整数 主要是做运算的 .比如加减乘除,幂,取余  + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3. ...

  9. python全栈学习--day2

    一.in的使用 说明:in有相当多的用处,比如判断,循环for 等. 实例一:in 操作符用于判断关键字是否存在于变量中 s = '男人john' print('男孩' in s) print('男孩 ...

随机推荐

  1. ASP.NET WebApi JObject 使用

    ASP.NET WebApi 中使用非Get请求,传递参数需要用对象包裹起来,比如: [HttpPost] public async Task<IActionResult> PostVal ...

  2. VS2017离线安装与Oracle数据库开发环境搭建

    记得之前使用VS2015打开老的MVC4项目,不能右键创建控制器和添加视图,让我非常不习惯!找遍了网络无果,最后只能回到VS2013,但我就是不喜欢用旧的VS,这是不是病... 1.将VS2017离线 ...

  3. Mybatis关系映射

    一.一对一关系映射 使用resultType+包装类实现 1.假设问题背景是要求在某一个购物平台的后台程序中添加一个这样的功能:查询某个订单的信息和下该订单的用户信息.首先我们可以知道,一般这样的平台 ...

  4. 本地连接虚拟机 Oracle数据库 报ORA-12541:TNS:no listener

    一.环境 本机环境:win10,pl/sql Developer 虚拟机环境:win10,oracle 11g 1.本机和虚拟机互相ping都可以ping通. 2.虚拟机监听程序已启动. 二.配置文件 ...

  5. CTFcrackTools-V3 - 一款旨在帮助 CTFer 在 CTF 中发挥作用的一个框架

    CTFcrackTools-V3 CTFcrackTools重置版 作者:米斯特安全-林晨.摇摆.奶权 米斯特安全团队首页:http://www.hi-ourlife.com/ 部分插件来源:希望团队 ...

  6. IntelliJ IDEA 注册码(因为之前的地址被封杀了,所以换了个地址)

    附上IntelliJ IDEA 注册码(感谢提供注册码的大神):http://idea.qinxi1992.cn/(已封杀) http://idea.lanyus.com/(新地址) 注:以前直接复制 ...

  7. Python - 使用Pyinstaller将Python代码生成可执行文件

    1 - Pyinstaller简介 Home-page: http://www.pyinstaller.org PyInstaller是一个能够在多系统平台(Windows.*NIX.Mac OS)上 ...

  8. 机器学习基石笔记:09 Linear Regression

    线性回归假设: 代价函数------均方误差: 最小化样本内代价函数: 只有满秩方阵才有逆矩阵. 线性回归算法流程: 线性回归算法是隐式迭代的. 线性回归算法泛化可能的保证: 根据矩阵的迹的性质:tr ...

  9. 机器学习基石笔记:10 Logistic Regression

    线性分类中的是非题------>概率题, 设置概率阈值后,大于等于该值的为O,小于改值的为X.------>逻辑回归. O为1,X为0: 逻辑回归假设: 逻辑函数/S型函数:光滑,单调, ...

  10. .NET手记-HttpClient解析GB2312乱码问题

    最近为App的服务器端卸了个爬虫程序,输出结果时发现出现乱码现象,尝试使用了几个方案发现效果并不太好,最后发现了一个很简单的用法. var result = await client.GetByteA ...