Python说文解字_杂谈07
1. 深入dict
from collections.abc import Mapping,MutableMapping # dict 属于mapping类型a = {} print(isinstance(a,MutableMapping))
2.常用方法:
a = {"bobby1":{"company":"imooc"},"bobby2:":{"company":"imooc"}}# clear # a.clear()#copy,返回浅拷贝 # new_dict = a.copy() # new_dict["bobby1"]["company"] = "imooc3"# 深拷贝 # import copy # new_dict = copy.deepcopy(a) # new_dict["bobby1"]["company"] = "imooc3"# fromkeys new_list = ["bobby1","bobby2"] new_dict = dict.fromkeys(new_list,{"company":"imooc"})# get # value = new_dict.get("bobby",{}) # print(value)#items # for key,value in new_dict.items(): # print(key,value)# setdefault # 他对去调用D.get(k,d)同时D[k] 设置 default_value = new_dict.setdefault("bobby","imooc") print(new_dict)# update: new_dict.update(bobby="imooc") new_dict.update([("bobby","imooc")]) new_dict.update((("bobby","imooc"),))
3. dict的子类
# 不建议继承list和dict class Mydict(dict):def __setitem__(self,key,value):super().__setitem__(key,value*2)my_dict = Mydict(one=1) my_dict["one"] = 1 print(my_dict)
# 建议用UserDict from collections import UserDictclass Mydict(UserDict):def __setitem__(self,key,value):super().__setitem__(key,value*2)my_dict = Mydict(one=1) print(my_dict)
from collections import defaultdictclass Mydict(UserDict):def __setitem__(self,key,value):super().__setitem__(key,value*2)my_dict = Mydict(one=1) print(my_dict)my_dict = defaultdict(dict) my_value = my_dict["bobby"]# __missing__方法,如果找不到某个key,那么实现一个keyvalue
记住:其实setdefault里面实现了__missing__魔法函数,表示如果是找不到某个key,那么实现一个默认的keyvalue
3. set和frozenset
# set 集合 frozenset 不可变集合 无序 不重复 s = set('abcde') s = set(['a','b','c']) print(s)# 初始化方法 s = {'a','b'} print(type(s))s2 = frozenset('abcde') # 不可变的类型,可以作为dict的key print(s2)
记住:和数学的操作一样,差集,交集,并集等。。
记住:在去重上应用很高,性能很高。
记住:还可以用:
for "c" in set:print ("i am in set")
记住:这里就实现了__contain__方法
记住:还有实现了__issubset__方法
4. dict和set他们背后实现的原理:
1. dict的key或者set的值都是必须可以hash的,不可变对象都是可以hash的,str,fronzenset,tuple,自己实现的类的__hash__
2. dict的内存花销大,但是查询速度快,自定义的对象或者Python内部的对象都使用dict包装的。
3.dict的存储顺序和元素添加顺序有关。
4.添加数据有可能改变已有数据的顺序。
5.list和array是一种自增的方式,随着数据在增加,申请内存空间的动作不断操作。
6.dict只有在内存空间少于1/3的时候才会去申请内存空间。
转载于:https://www.cnblogs.com/noah0532/p/10989826.html
Python说文解字_杂谈07相关推荐
- Python说文解字_杂谈06
1. 序列类型的分类: 容器类型:list.tuple,deque 扁平序列:str.bytes.bytearray.array.array 可变序列:list.dequte.bytearray.ar ...
- 全字库说文解字字体_整理了10款免费商用中文字体,超好用
文章来源:logo设计视觉(ID:logoshijue) 字体不能随便用!大家应该经常有听到字体侵权索赔上几十上百万事吧!作为小小的设计师遇上了就倒霉啦!所以,我们要有足够版权意识,没事囤点免费可商用 ...
- 全字库说文解字字体_【180期】可商用字体大全,无版权纠纷!
大家好我是万能的向前 今天向前为你精选了 可商用字体最全收集免费,无版权纠纷 每个设计高手都离不开百变的字体,但是,如果审美不到位字库不全,找不到合适的字体,领导.客户就相不中!那就有可能被降薪,糟心 ...
- java 词根_英语词根与单词的说文解字---词根示例1、第10页 st(at)
英语词根与单词的说文解字---词根示例1.第10页 st(at) 一.总结 一句话总结: 站 state,establish,constitution 英 [ɪ'stæblɪʃ; e-] 美 [ɪˈ ...
- 说文解字 —— 拆字
1. 说文解字 美: 羊大为美:所以有肥美嘛 2. 世说新语 皇: 王上加白: 工人: 工人就是天: 3. 复杂词语 三星期,六点钟:三星期为二十一,六点钟为酉时的酉:加在一起就是醋: 4. 数字 7 ...
- 嘻嘻哈哈说文解字(讲)
讲的左边是言,右边是井,我想,老祖宗造这个字的意思应该是:话是应该说,但不能说多,不能井边说,言空了就掉井里了(所谓言虚容易掉到井里面).但奈何我们的记忆总不好,只记住了左边的言,这不,你看我们天天都 ...
- 读书笔记(四)---读《说文解字》的快乐点滴
想读这本书的缘由在于,我经常背英语单词:为了更牢靠的记住英语单词,使用了某些例如按词根记住单词的技巧,突然想到自己对汉字也有很多是不认识的,学习一门外语花了这么大力气,为何学习母语反而不下工夫呢?于是 ...
- 曲刚英语说文解字全套下载
买了曲刚英语说文解字全套已经学完了,因为都是电子录像,所以想转让一下,有兴趣的可以联系我,已经解决其他机器上无法播放的问题? 联系方式q.q:375501819 下载地址可以联系我~
- 快步英语说文解字颠覆中国传统英语教学模式
原文出处 http://tinyurl.com/43637676 快步7号说文解字里面内容到底教了那些呢 中国近百年来沉闷压抑僵死的英语教学困境终于迎来颠覆性.震撼性突破,横空出世的曲刚英语语音大表. ...
- 《说文解字》与程序设计
说文解字 领券网 https://www.cps3.cn/ <说文解字>,简称<说文>,是由东汉经学家.文字学家许慎编著的语文工具书著作.<说文解字>是中国最早的系 ...
最新文章
- Oracle二三事之 12c 可插拔数据库PDB
- 10 i lt shell的if_shell脚本编程之if、case条件语句
- etl常用的三种工具介绍_Adobe Photoshop常用修图插件+屏幕模式+内容感知移动工具介绍...
- Buuctf(pwn) ez_pz_hackover_2016 泄露栈地址,retshellcode;调试计算
- 《游戏设计师修炼之道:数据驱动的游戏设计》一3.8小结
- Mybatis结合Oracle的foreach insert批量插入报错!
- Spring Boot 集成 Quartz
- github (远端建立分支....配置见github 官网配置)
- 关于NSOperation的几个常见问题
- nginx websocket wss 连接失败 failed_浅谈WebSocket协议、WS协议和WSS协议原理及关系
- 如何利用大数据进行价值兑现才是正经事
- JavaScript之爆肝汇总【万字长文❤值得收藏】
- 不小心删除电脑系统所有字体的解决方法
- 基于哈夫曼编码的文件压缩解压
- 微信扫描小程序码登录 PC 网站 Demo
- 职称体系岗位等级对照
- SQL_数据库表的操作
- 东软Unieap平台
- idea 使用debug模式自动编译的设置
- 数加平台——阿里大数据OS实践
热门文章
- java 单体 启动优化_java设计优化之单例模式
- python 客户端_Python客户端
- php 如何下载,php的包怎么下载
- his提供哪些服务_品牌战略咨询能为企业提供哪些服务
- 湘潭比赛有感---铩羽之行
- cmd链接php mysql数据库_php连接mysql数据库_cmd连接mysql数据库 - MySQL最新手册教程 - php中文网手册...
- 【CF585-div2:C】Swap Letters(贪心)
- 【UVA213】Message Decoding(读入技巧+二进制十进制转换)
- hdu 5446 Lucas+中国剩余定理(孙子定理)+按位乘
- 解决requests.text乱码问题content.decode()