
Python
mlnotes
这个作者很懒,什么都没留下…
展开
-
Python3.x和Python2.x的区别
转自:http://blog.youkuaiyun.com/zhenzhen_08/article/details/6332875最近在学习使用Python3.2, 因为目前大多数资料和书籍都是基于Python 2.x的,所以在学习的过程中会碰到一些问题,特此记录,方便查找不同,并分享给其他需要的朋友。1.性能 Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3原创 2013-08-01 00:49:57 · 588 阅读 · 0 评论 -
中文分词算法 mmseg python版本
mmseg算法是对最大匹配算法的扩展。简单来说,mmseg每次匹配时,总会多向后匹配两个单词,然后选择这个三个单词的总体匹配最优的。mmseg 主要做了以下几方面的扩展:假设对字符串C1C2...Cn进行分割 匹配时,从小到大,逐个匹配字典中以C1开头的词每次连续匹配三个词语(three-word chunk ),并列出所有可能的分割选择最匹配的three-word chunk(依次运用以下规则原创 2013-08-01 00:55:40 · 1536 阅读 · 0 评论 -
相似度计算(euclidean, cosine, pearson)
#!/usr/bin/pythonfrom math import sqrtdef euclidean(v1, v2): length = min(len(v1), len(v2)) if length == 0: return 0 d = 0 for i in range(length): d += pow((v1[i] - v2[i]), 2)原创 2013-08-01 00:55:34 · 1815 阅读 · 0 评论 -
matplotlib show() 立即返回,无效,no module named _backend_gdk
具体什么原因我也不是很清楚,但是可以使用如下方法解决,即在文件头部加两行 import matplotlibmatploblit.use('WXAgg') 或者,修改matplotlib的配置文件,一般位于/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/matplotlibrc,修改如下backend: WXAgg如果还是没用原创 2013-08-01 00:56:11 · 1964 阅读 · 0 评论 -
编译时出现缺少 Python.h 错误
安装 python-dev 即可原创 2013-08-01 00:54:56 · 1878 阅读 · 0 评论 -
python 中 range 和 xrange 的区别
刚学python,之前循环时一直用的是range,后来看到有人用xrange,然后就查了下,发现xrange要比range要好,主要体现在内存上range 其实就是创建了一个list,需要在内存中保存所有的数据xrange则是一个对象,它并没有保存这个list,而是计算出来的在范围不是很大时,二者的效率差不多,但当范围很大,或者经常break时,则使用xrange更合适 >>>a = range(原创 2013-08-01 00:53:26 · 666 阅读 · 0 评论 -
pymmseg 分词打印出现乱码
很多同学都会出现乱码的问题。可能是mmseg支持的是utf8, windows的本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串当然是乱码了。 解决方法:在控制台打印的地方用一个转码就ok了,打印的时候这么写:print myname.decode('UTF-8').encode('GBK') from pymmseg import mmsegmmseg.dict原创 2013-08-01 00:53:21 · 1273 阅读 · 0 评论 -
python 把数字写入文件
初学python,还不是很了解,其实只要用str() 将数字包住即可如下:file.write(str(12));原创 2013-08-01 00:53:17 · 16599 阅读 · 0 评论 -
Python 正则表达式 sub
sub(repl, string[, count]) | re.sub(pattern, repl, string[, count]): 使用repl替换string中每一个匹配的子串后返回替换后的字符串。 当repl是一个字符串时,可以使用\id或\g、\g引用分组,但不能使用编号0。 当repl是一个方法时,这个方法应当只接受一个参数(Match对象),并返回一个字符串用于替换(返回的字符串中原创 2013-08-01 00:52:50 · 1834 阅读 · 0 评论 -
Python sorted 函数,对字典按值进行排序
字典实际上并不能排序,我们排的是items,即dict.items(),将字典转换成了一个列表sorted函数的原型为:sorted(iterable[, cmp[, key[, reverse]]])iterable:是可迭代类型类型;cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项;rever原创 2013-08-01 00:52:44 · 1866 阅读 · 0 评论 -
Python 3.x 读取文件与Python 2.x的差别
Python 2.xfor line in file("schedule.txt"): Python 3.xf = open("schedule.txt");flights = {}for line in f:原创 2013-08-01 00:49:54 · 828 阅读 · 0 评论 -
python lambda
简介:lambda 表达式其实就是一个匿名函数lambda x:express(x)其中第一个x表示参数,express(x) 则是一个表达式,lambda至多只能有一个表达式。比如 f = lambda x: x + 2,那么调用f(3),就会返回 5。用途:lambda在一些和map相关的比较函数中用处比较大,比如 sorted(iterable, cmp=None, key=None, re原创 2013-08-01 00:55:45 · 838 阅读 · 0 评论 -
python 判断中文
比如 s 是一个utf8编码的字符串,如何找出 s 中的所有中文字符?import rere.findall(ur'[\u4e00-\u9fa5]', s.decode("UTF8"))其中 [\u4e00-\u9fa5] 是标准汉字unicode编码范围,具体网上可以查到原创 2013-08-01 00:55:09 · 901 阅读 · 0 评论 -
python引号作用
转自:http://our2848884.blog.163.com/blog/static/146854834201192393137281/ 学过python的朋友应该都知道,python中包含单引号,双引号和三引号。但是他们有什么区别呢? 其实,我个人感觉,python不同于php,其中的单引号和双引号没有区别。他们的主要作用就是尽量避免使用转义字符。例如:>>> a='I\'原创 2013-08-01 00:53:19 · 1338 阅读 · 0 评论 -
python 画图工具 Python Image Lab(python-imaging)
可以通过apt-get 安装python-imaging,很不错的画图工具可以把二叉树等一些数据结构形象的表现出来原创 2013-08-01 00:52:48 · 1822 阅读 · 0 评论 -
Python 函数的默认参数, 关键字参数的调用
如下函数定义def hello(name, age=10, gender='F'): print 'User Info:' print 'name is %s' % name print 'age is %d' % age print 'gender is %c' % gender我们的调用方式主要有一下几种hello('Jim')hello('Jim', 11)hello('J原创 2013-08-01 00:52:46 · 911 阅读 · 0 评论 -
Python 图形库 PIL, matplotlib 显示中文
想让这个两个图形库能够支持中文的显示其实还是挺简单的,下面分开说明PIL支持中文:1.从windows的C:\Windows\Fonts\ 目录下拷贝一份字体文件,比如"msyh.ttc" 到某个目录,一般是"/usr/share/fonts/truetype/",当然这个无所谓2.定义一个myfont变量, myfont = ImageFont.truetype(fontpath, 24); 第原创 2013-08-01 00:55:53 · 2034 阅读 · 0 评论