我与python3擦肩而过(一)—— Dict与collections.OrderredDict邂逅
最近一直在撸Python Data Analysis上的代码(书是基于Python2的,小白我用的python3),所以我下的时候多少有些改动。
这是9.4中的nltk词频分析关于Dict_key的问题。
源码是这样的:

运行报错:

查了一下subscriptable,这个链接解释的还是比较清楚的。简单讲就是说,dict_key不再和list,tuple等一样包含可脚本化的对象。
之后尝试几下均告失败,想着跳过这里,但后面词频分析用的也不少,只好硬着头皮上啦!Google半天,发现了它(ps:stackoverflow还是相当不错的)。
也就是加个list。不过,这样的话,要取出词频最高的item的value容易,但对应的key却应为打乱了顺序而无法找到。于是,继续寻找解决的方案。感谢群里面大神相助,得知有个固定字典顺序的方法——collections.OrderredDict。具体使用可以参考这篇博文。
有了这个,就开始工作啦,工作目标——找出乱序字典{‘关键字’:‘次数’}中次数最多的几个词及其出现次数。
于是,就有了它:

运行结果:

总算是成功了。。。不过总感觉好像走了弯路——不过至少学会了collections.OrderresDict——希望有哪位大侠看到能给出更好的解决方案。
至于Python Data Analysis,看完有时间也打算在这里总结一下。
我与python3擦肩而过(一)—— Dict与collections.OrderredDict邂逅的更多相关文章
- Python3 内建模块 datetime/collections/base64/struct
datetime 我们先看如何获取当前日期和时间: >>> from datetime import datetime >>> now = datetime.now ...
- python3 两层dict字典转置
python3; 两层字典 dict =(type, dict2) dict2 = (k_value, index) dictss = { 10: {3: 1, 4: 2, 5: 3, 6: 4, 7 ...
- Python3中对Dict的内存优化
众所周知,python3.6这个版本对dict的实现是做了较大优化的,特别是在内存使用率方面,因此我觉得有必要研究一下最新的dict的源码实现. 前后断断续续看了大概一周多一点,主要在研究dict和创 ...
- 我与python3擦肩而过(三)—— 我去。。又是编码问题——urllib.parse.unquote
记得初学python时就学的爬虫,经常遇到编码问题(其实在python3里面编码问题已经很少了...),用requests库就挺方便解决这些问题的.近来有共同学习python的程序员写了个电子书网站, ...
- 我与python3擦肩而过(二)—— csv文件头哪去啦?
在看Python Data Visualization Cookbook 这本书(基于python2),开始时读取csv文件头的时候出现问题.查了资料,又是python3的问题,从这个链接找到答案. ...
- python3 开发面试题(collections中的Counter)6.7
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...
- Python3基础 list(dict) 使用 * 扩充时,出现字典元素重复问题
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Python3基础 list dict set 均为unhashable type
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Python3内置函数、各数据类型(int/str/list/dict/set/tuple)的内置方法快速一览表
Python3内置函数 https://www.runoob.com/python3/python3-built-in-functions.html int https://www.runoob.co ...
随机推荐
- HTML5自学笔记[ 7 ]defer和async
defer:给位于最前面的script标签设置defer="defer",外联js就会在onload触发之前才加载. async:给script标签设置async="as ...
- alpha发布(技术随笔)
昨天是班级里面每个小组要进行alpha演示,大家都很努力的去做自己的项目.我们nice!组没有演示自己的项目,只一点很惭愧,身为组员没有协助组长按时完成项目,这一点自己也感觉很抱歉,虽然每天感觉自己都 ...
- 《Pro AngularJS》学习小结-01
<Pro AngularJS>该书以一个SportsStore案例为主线铺开. 一.开发环境设置 该书中所用的数据库data server开发环境是Deployed,从来没听说过,而且作者 ...
- js——常见的小方法
1.随机得到是六位数,可以当做“密码”来使用: Math.random().toString().substr(2, 6):
- BZOJ3307 雨天的尾巴
首先考虑序列怎么做... 只要把操作差分了,记录在每个点上 然后维护一棵权值线段树,表示每个颜色出现的次数,支持单点修改和查询最大值操作 只要把序列扫一遍就好了,时间复杂度$O(n + m*logZ) ...
- 如何在Hadoop的MapReduce程序中处理JSON文件
简介: 最近在写MapReduce程序处理日志时,需要解析JSON配置文件,简化Java程序和处理逻辑.但是Hadoop本身似乎没有内置对JSON文件的解析功能,我们不得不求助于第三方JSON工具包. ...
- sql 如何过滤重复记录
distinct : select distinct ID from table1
- C#重启系统代码
C#重启窗体代码 System.Diagnostics.Process.Start(System.Reflection.Assembly.GetExecutingAssembly().Location ...
- 【工具推荐】ELMAH——可插拔错误日志工具
今天看到一篇文章(构建ASP.NET网站十大必备工具(2)),里面介绍了一个ELMAH的错误日志工具,于是研究了一下. ELMAH 是 Error Logging Modules and Handle ...
- Catalan数
先看2个问题: 问题一: n个元素进栈(栈无穷大),进栈顺序为1,2,3,....n,那么有多少种出栈顺序? 先从简单的入手:n=1,当然只有1种:n=2,可以是1,2 也可以是2,1:那么有2种: ...