python学习 day5 (3月6日)
字典映射,{}键值对,key 唯一的 ,可哈希,容器型数据类型 可变的(不可哈希): 字典 列表 集合 都不可做键 不可变的(可哈希): 数字 字符串 bool 元组 frozeset() 可以做键
#__author : 'liuyang' #date : 2019/3/6 0006 dic= {'name':'alex','age':18,'name':'python' } print(dic) # 数据关联性 dic = {'name_list':['博哥','菊哥','b哥'],'barry':{'name':'太白金星','age':18,'hobby':'wife',} } print(dic)
增删改查
一.增
dic[key] = '****' 有则改值 无则添加
dic.setdefault('name','liusi') ---(‘键’,‘值’) 有则不变 无则添加
# 增 dic= {'name':'alex','age':18,'name':'python' } print(dic) # 键值对 是唯一的,默认第一个吗 第二个! dic['name'] = 'liuer' print(dic) # 有则改值 无则添加 dic['nama'] = 'liusan' print(dic) # 有则不变 无则添加 dic.setdefault('name','liusi') print(dic) dic.setdefault('nam','liuwu') print(dic)
dic = {1:2 , 3:6} # 若7 = Noneprint(dic.setdefault(1))#2 #第一步先根据 键 查值 # 第二部 有则不变 无则添加
print(dic.setdefault(1,5)) # 返回 5
二.删:
pop() 删除键值对 (返回值)
popitem 返回值是元组,元组里是key和values
clear() 清空
del 按照键
删字典
除了del 都是 字典.方法(key) dic....(key)
# 删 dic= {'name':'alex','age':18,'name':'python' } d = dic.pop('name') print(d) print(dic) # 删没有的会报错 但是可以设置信息 # d = dic.pop('naaa') d = dic.pop('naaa','没有元素') print(d) d = dic.pop('naaa',None) print(dic) print(d) dic.clear() print(dic) dic= {'name':'alex','age':18, } # 删除最后一个 从3.6 开始 这个也有返回值得 pop() a = dic.popitem() print(dic) print(a) del dic['name'] print(dic) # 没有元素回报错 而且没办法 用pop 第二个提示值 # del dic['nam'] # print(dic) # del dic # print(dic) # 错误 没有字典里了
三.改:
dic[key]= '******'
dic.update = #不等于 update(name,'sss') #不对
#正确书写 dic.update(name='liuer' , age = 15) 有则改之,无则添之
dic,updat(dic1) # 换成字符串的形式 ,所以可以
# 改 dic= {'name':'alex','age':18, } dic['name'] = 'liuer' print(dic) dic['name'] = ['liuer' , 'liusan '] print(dic) # 错误 因为 name 和 不是逗号 # dic.update(name,'wanger') # 有也不改 print(dic) dic= {'name':'alex','age':18, }# 正确写法 #没有dic 等于 dic.update() # 有则改之 无责添之 级别高 后者改前面 dic.update(name = 'wanger' , money = 11000) print(dic) dic= {'name':'alex','age':18, } dic1= {'name':'liuer','high':180,'language':'python' } #不对 这是 update 的作用 记错了 # dic = dic1.update(dic) # 正确书写 dic.update(dic1) print(dic)
四.查:
dic[key] 没有此键,报错
dic.get[key] 有就返回 没有就返回None
for 循环
# 查 print(dic['name']) print(dic.get('name' , None))''' dic = {'name_list': ['博哥', '菊哥', 'b哥', 'alex'],'barry': {'name': '太白金星','age': 18,'hobby': 'wife',} }
五.字典的值键三种方法:
1.dic.keys (= dic 使用for 循环的时候)
dic = {'name': '太白金星','age': 18,'hobby': 'wife',} for i in dic:print(i)# dic.keys() 类似于list的容器类类型 高仿列表 元组 ret = dic.keys() print(ret, type(ret)) for key in ret:print(key) print(ret[0]) # 可以转化成list print(list(ret))
2.dic.values
dic.values() print(dic.values()) # 转化成list print(list(dic.values())) for v in dic.values():print(v)
3.dic.items
print(dic.items()) print(list(dic.items()))for i in dic.items():print(i)
面试题:分别赋值
a, b = (1, 2) print(a,b) a, b, c = (1, 2, 3) print(a,b,c) a, b = 100, 1000 a, b = [100, 1000] a, b = {'name':'alex', 'age': 73} print(a,b)
分别赋值——————精确讲解dit.items()的含义
a = 18 b = 32 a, b = b, a print(a,b) print(dic.items()) for k,v in dic.items():'''k,v = ('name', '太白金星')k,v = ('age', 18)k,v = ('hobby', 'wife')'''print('这是键:', k)print('这是值:', v)
d = dic.fromkeys([1,2,3],'值')print(d) # 不可变 类型 没坑有可变类型 有坑
d = dic.fromkeys([1,2,3],[])d[1].append(33)print(){1:33 , 2:33 , 3:33}
d = dic.fromkeys([1,2,3],10) print(d) d[1] = 20 print(d)
一个杯子 可以装水 大家都用 -----> 可变 都变 不可变的 别的不变 只改可变的
不可变的又建立了一个 内存地址 a = 10 a = 20 两个地址
字典的嵌套:dic[][]
实例:
# 1,给这个列表['博哥', '菊哥', 'b哥', 'alex'] 追加一个元素 '老男孩'。 # 2,将这个列表['博哥', '菊哥', 'b哥', 'alex']中的alex变成首字母大写。 # 3,将这个键值对 'name': '太白金星' 的 '太白金星' 改成男神。 # 4,给barry对应的小字典增加一个键值对: weight: 160 ''' dic = {'name_list': ['博哥', '菊哥', 'b哥', 'alex'],'barry': {'name': '太白金星','age': 18,'hobby': 'wife',} } dic['name_list'].append('老男孩') #dic['name_list'] += '老男孩' # ['博哥', '菊哥', 'b哥', 'alex', '老', '男', '孩'], 不对 print(dic) # 不会做因为 没有把改了的值 换到以前的位置 dic['name_list'][3] = dic['name_list'][3].capitalize() print(dic) dic['barry']['name'] = '男神' print(dic) # 不对 # dic['barry']['weight',16] # print(dic) # 一般方法 找位置 赋值 增加 或者 更改 一样用 dic['barry']['weight'] = 12 print(dic) # 函数方法 , 使用(object,'') # 这样就添加了 不大懂 dic['barry'].setdefault('weight',16) print(dic)
dic['keys'] 可能列表操作.append()
dic = {}
dic1 = dic.fromkeys(iter, object)
a = d.fromkeys([1,2,3],'str')
# print(id(a[1]),id(a[2]))#内存地址不同 改变一个其它肯定不变
{1: 'str', 2: 'str', 3: 'str'}lis = ['alex','wusir','太白']a = d.fromkeys(lis,[])
a['alex'] = 1
{'alex': [], 'wusir': [], '太白': []}
{'alex': 1, 'wusir': [], '太白': []}
转载于:https://www.cnblogs.com/Doner/p/10482541.html
python学习 day5 (3月6日)相关推荐
- Python学习日志9月14日
今天早晨又没有专心致志的学习,我感觉我可能是累了,需要减轻学习的程度来调整一下咯.这几天装电脑弄的昏天暗地的,身体有点吃不消了.时间真是神奇的魔法,这半个月来,每隔几天都有想要改变策略的想法.今天早晨 ...
- python学习 day2 (3月2日)
.if if else和 if elif else 的区别是:前者 判断第一个 判断完第二个 之后还会执行else: 后者是只有满足条件(即都不符合if.elif里的条件时才会进入else)不清楚,有 ...
- python学习 day6 (3月7日)
#__author : 'liuyang' #date : 2019/3/7 0007 a = ['a' , 'b' , 'c'] b = [] print(a is b ) # 空元组 可以 空列表 ...
- python学习 day1 (3月1日)
01 cpu 内存 硬盘 操作系统 CPU:中央处理器,相当于人大脑. 飞机内存:临时存储数据. 8g,16g, 高铁1,成本高.2,断电即消失.硬盘:长期存储大量的数据. 1T 512G等等 步行文 ...
- python学习 day22 (3月29日)----(生成器推导式)
新手上路请多担待 1 2 封装 3 私有化封装 #__author : 'liuyang' #date : 2019/3/29 0029 上午 9:35 # 不想让别人看 修改 我的属性 # 源码来说 ...
- Python学习day5作业-ATM和购物商城
Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...
- Python学习day5作业
目录 Python学习day5作业 ATM和购物商城 1. 程序说明 2. 基本流程图 3. 程序测试帐号 4. 程序结构: 5. 程序测试 title: Python学习day5作业 tags: p ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(11月21日-11月27日)
分享Silverlight/WPF/Windows Phone一周学习导读(11月21日-11月27日) 本周Silverlight学习资源更新 Silverlight 利用Telerik导出到Wor ...
- 分享Silverlight/WPF/Windows Phone一周学习导读(10月1日-10月15日)
分享Silverlight/WPF/Windows Phone一周学习导读(10月1日-10月15日) 本周Silverlight学习资源更新: [Silverlight入门系列]ListboxIte ...
最新文章
- 机试指南第二章-经典入门-排版例题自解
- 数据库本地服务器为空,本地搭建的服务器访问不到数据库数据
- install onnx_tensort
- 【行业报告】信贷场景下全流程数据风控体系——宜信
- ML之Hash_EditDistance:基于输入图片哈希化(均值哈希+差值哈希)即8*8个元素的单向vector利用编辑距离算法进行判别
- iOS中XML解析 (二) libxml2(实例:打印xml内容及存储到数组)
- CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩
- Android - 模块添加与编译
- Java中swing使用ImageIcon类添加图片
- Drools 规则引擎一文读懂
- 【axure手机原型】iOS应用设计要点总结
- win10升级助手_微软官网win10下载_win10教程
- 如何系统学习 Ps、CAD、Office 等软件?
- Windows下usb接口驱动技术
- 图像空间滤波总结(平滑空间滤波器及锐化空间滤波器)
- 车辆识别码VIN校验位计算方法及实现-Java
- android 模拟器手机如何添加文件到sd卡?
- python安卓吾爱_【原创源码】 【无需第三方库】【支持签到 】 Python 吾爱挂机 无提示版...
- 20145238-荆玉茗 《Java程序设计》第五次实验报告
- NVIDIA 、 显卡、显卡组成、GPU 介绍、GPU与CPU。