最近一直在撸Python Data Analysis上的代码(书是基于Python2的,小白我用的python3),所以我下的时候多少有些改动. 这是9.4中的nltk词频分析关于Dict_key的问题. 源码是这样的: 运行报错: 查了一下subscriptable,这个链接解释的还是比较清楚的.简单讲就是说,dict_key不再和list,tuple等一样包含可脚本化的对象. 之后尝试几下均告失败,想着跳过这里,但后面词频分析用的也不少,只好硬着头皮上啦!Google半天,发现了它(ps:s…
datetime 我们先看如何获取当前日期和时间: >>> from datetime import datetime >>> now = datetime.now() # 获取当前datetime >>> print(now) 2015-05-18 16:28:07.198690 >>> print(type(now)) <class 'datetime.datetime'> 注意到datetime是模块,datetim…
python3; 两层字典 dict =(type, dict2) dict2 = (k_value, index) dictss = { 10: {3: 1, 4: 2, 5: 3, 6: 4, 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: 12, 15: 13, 16: 14, 17: 15, }, 20: {3: 16, 4: 17, 5: 18, 6: 19, 7: 20, 8: 21, 9: 22, 10: 23, 11: 24…
众所周知,python3.6这个版本对dict的实现是做了较大优化的,特别是在内存使用率方面,因此我觉得有必要研究一下最新的dict的源码实现. 前后断断续续看了大概一周多一点,主要在研究dict和创建实例对象那部分的代码,在此将所得记录下来. 值得一提的事,新版的dict使用的算法还是一样的,比如说hash值计算.冲突解决策略(open addressing)等.因此这一部分也不是我关注的重点,我关注的主要是在新的dict如何降低内存使用这方面. btw,本文的分析是基于python的3.6.…
记得初学python时就学的爬虫,经常遇到编码问题(其实在python3里面编码问题已经很少了...),用requests库就挺方便解决这些问题的.近来有共同学习python的程序员写了个电子书网站,想要相关的爬虫,于是,我去试了试...当然,第一步就遇到“编码问题”,这次requests就用不上啦. 观察发现,小说网站搜索网页之后,跳转的网址形如:http://so.biquge.la/cse/search?s=7138806708853866527&q=%CD%EA%C3%C0%CA%C0%…
在看Python Data Visualization Cookbook 这本书(基于python2),开始时读取csv文件头的时候出现问题.查了资料,又是python3的问题,从这个链接找到答案. 书中源码是这样的:   import csv filename = 'ch02-data.csv' data = [] try: with open(filename) as f: reader = csv.reader(f) #注意这里的缩进应该是书的印刷错误 header = reader.ne…
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3asd.html https://www.sogo.com/teoans.html https://www.bilibili.com/2 https://www.sogo.com/asd_sa.html https://y.qq.com/ https://www.bilibili.com/1 htt…
         Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3       Conda : 4.7.5    typesetting : Markdown   code coder@ubuntu:~$ source activate py37 (py37) coder@ubuntu:~$ ipython Python 3.7.3 (default, Mar 27 2…
         Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3       Conda : 4.7.5    typesetting : Markdown   code coder@ubuntu:~$ source activate py37 (py37) coder@ubuntu:~$ ipython Python 3.7.3 (default, Mar 27 2…
Python3内置函数 https://www.runoob.com/python3/python3-built-in-functions.html int https://www.runoob.com/python3/python3-number.html str https://www.runoob.com/python3/python3-string.html list https://www.runoob.com/python3/python3-list.html tuple https…
collections容器数据类型是对基本数据类型的补充,简单介绍下计数器.有序字典.默认字典.可命名元祖.队列. 计数器(Counter) Counter是对字典类型的补充,用于追踪值得出现次数 class Counter(dict) import collections obj = collections.Counter('asiwenaohweiatgwho') print(obj) def most_common() # 返回一个列表 def elements() # elements用…
(1) 关键字 # -*- coding: utf-8 -*- #!/usr/bin/python3 """ 1.关键字(保留字) ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', '…
1.字典dict定义 初始化 key-value键值对的数据的集合,可变.无序.key不重复(哈希.唯一) 1> d = dict() 或者 d = {} # -*- coding:utf-8 -*- # version:python3.7 d1 = dict() d2 = {} print(d1) print(d2) 执行结果: {} {} 2> dict(**kwargs)使用name=value对初始化一个字典 d1 = dict(a=1,b=2,c=3) #或着:d1 = {'a':1…
python2里面,dict.items返回的是数组,six.iteritems(dict)则返回生成器. 意味着,dict很大的时候,后者不占用内存. >>> import six >>> six.iteritems({'a':1,'b':2}) <dictionary-itemiterator object at 0x7fa3101cb940> >>> {'a':1,'b':2}.items() [('a', 1), ('b', 2)]…
dict #!/usr/bin/env python3 # -*- coding: utf-8 -*- #dict >>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} >>> d['Michael'] 95 >>> d['Adam'] = 67 >>> d['Adam'] 67 >>> d['Jack'] = 90 >>> d['Jack'] 90 >…
# !/usr/bin/env python3 # -*- coding:utf8 -*- #dict 和 set #dict dictionary 用于存放 键值对的, 无序,key 不可变 #姓名 年龄的字典 d = {"hanmeimei":21, "lilei":23, "jim":23} print(d) #通过 键(hanmeimei) 取到 值 21 print(d['hanmeimei']) #如果 取用不存在的键 ,会报错 可以…
今天来向大家介绍一下collections系列中的OrderedDict和DefaultDict,这两种类均是通过collections来创建的,均是对dict字典加工,所有都继承了dict字典的方法 先来介绍一下OrderDict,又叫做有序字典,字典本身是无序的,这个有序的字典的是如何实现的呢,其实就是把dict和list结合起来,就成了有序的字典,因为list是有序的 1.创建一个OrderDict,我们可以对比一下普通的dict和OrderedDict,同样,创建OrderedDict需…
官方文档:https://yiyibooks.cn/xx/python_352/library/collections.html 参考: https://blog.csdn.net/songfreeman/article/details/50502194 https://www.cnblogs.com/Eva-J/articles/7228075.html#_label15 Collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还…
用类型 用函数返回值 嵌套的dict from collections import defaultdict def tree(): return defaultdict(tree) c = defaultdict(tree) c['h']['username'] = 'xxx' c['l']['username'] = 'xxxx' c 输出为: defaultdict(<function __main__.tree>, {'h': defaultdict(<function __ma…
字典是一种可变数据类型,且可存储任意类型对象. 字典使用大括号"{}"括起来,由键(key)和值(values)组成,键只能使用不可变类型定义,值可以使用可变类型{'键':'值'} 一 创建 实例(Python3.0+): dic = {'name':'makes','age':'30','hobby':'gril','is_handsome':True} print(dic['name']) #makes dic1 = {1:'makes','hobby':{'age':35,'gr…
机器学习实战这本书是在python2.x的环境下写的,而python3.x中好多函数和2.x中的名称或使用方法都不一样了,因此对原书中的内容需要校正,下面简单的记录一下学习过程中fix的部分 1.print 函数后面需要加括号(程序清单2-4开始出现print函数) 2.raw_input改为input函数,在3.x中python使用input替代了raw_input函数(程序清单2-5) 3.reload(KNN)->import importlib importlib.reload(KNN)…
字典:是一种key - value的数据类型.语法:info = { key:value }特性:无序,key必须唯一(所以天生去重) 方法如下:del dict[key]:删除字典指定键len(dict):返回字典的长度dict.clear():字典清空 dict.fromkeys(seq,val=None):创建一个新字典,以seq中的元素为键,val为初始值 注意:以上通过seq元素创建字典时,相当于浅copy的概念,seq中每个元素在内存中都是指向同一个val的值,会产生当修改一个key…
Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, tuple, dict, set.这里对他们进行一个简明的总结. List 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List: L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样的.当然也可以定义一个空的List: L = [] Python中的List是有序的,所以要访问List的话显然…
1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“type(time.time())”,返回的是float类型. #格式化的时间字符串(Format String) #结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时) time: imp…
#!/usr/bin/python3 #以下set,dict的方法py2无法运行 #创建set 集合,使用大括号 { } 或者 set() 函数创建 #注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典 num1={1,2,3,4,5,6,5,6} #打印集合,自动去重 print('num1 :', num1) if(9 in num1): print('9 in num1') else: print('9 not in num1') num2={1,2…
选择合适的数据结构 考虑不同的应用场景,应选择不同的数据结构 比如在查找多于插入的场景中,考虑字典Dict是不是更适合; 因为在Python3中, 字典Dict 通过hash把key映射到hash table的不同位置(或者说不同的bucket中), 因此查找操作的复杂度为 O(1): 而列表list对象实际是个数组,完成相同的查找需要遍历整个list,其复杂度为 O(n), 因此对成员的查找访问等操作字典要比 list 更快. 集合Set 跟字典Dict比较类似,查找操作的复杂度为 O(1),…
--------------------------------------------------------------------------------------- 本系列文章为<机器学习实战>学习笔记,内容整理自书本,网络以及自己的理解,如有错误欢迎指正. 源码在Python3.5上测试均通过,代码及数据 --> https://github.com/Wellat/MLaction -----------------------------------------------…
入门技术博客 进阶自己挑选 入门基础 Python入门相对容易又可以干很多事(网站,运维,数据,爬虫等),是一门方便的工具语言.2016年TIOBE排名显示Python已经名列第四,成为脚本语言之首. 国外的Youtube,Instagram,Pinterest,Reddit,Dropbox,Disqus, Quora等知名应用一开始都是基于Python构建,国内的豆瓣,知乎,果壳,饿了么,搜狐等也是Python应用的典型. 这也给了国内Python开发者一阵强心剂,Python的生态环境可以支…
[命名规范] 模块名:小写字母,单词之间用_分割:例如:ad_stats.py 包名:和模块名一样 类名:单词首字母大写:例如:ConfigUtil 全局变量名:大写字母,单词之间用_分割:例如:NUMBER,COLOR_WRITE 普通变量:小写字母,单词之间用_分割:例如:this_is_a_var 类实例变量:以_开头,其他和普通变量一样:例如:_price,_instance_var 私有实例变量:以__开头(2个下划线),其他和普通变量一样:例如:__private_var 专有变量:…
算法与内置数据结构 常用算法和数据结构 sorted dict/list/set/tuple 分析时间/空间复杂度 实现常见数据结构和算法 数据结构/算法 语言内置 内置库 线性结构 list(列表)/tuple(元祖) array(数组,不常用)/collection.namedtuple 链式结构 collections.deque(双端队列) 字典结构 dict(字典) collections.Counter(计数器)/OrderedDict(有序字典) 集合结构 set(集合)/froz…