随笔分类 -  Python每日小灶

摘要:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯 阅读全文
posted @ 2014-08-01 22:59 jihite 阅读(157283) 评论(2) 推荐(3) 编辑
摘要:1. 迭代器 迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束。迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退。 1.1 使用迭代器的优点 对于原生支持随机访问的数据结构(如tuple、list),迭代器和经典for循环的索引访问 阅读全文
posted @ 2014-07-06 12:12 jihite 阅读(41509) 评论(6) 推荐(4) 编辑
摘要:最近在做语义方面的问题,需要反义词。就在网上找反义词大全之类的,但是大多不全,没有我想要的。然后就找相关的网站,发现了http://fanyici.xpcha.com/5f7x868lizu.html,还行能把“老师”-“学生”,“医生”-“病人”这样对立关系的反义词查出来。一开始我想把网站中数据库... 阅读全文
posted @ 2014-05-13 17:17 jihite 阅读(17977) 评论(2) 推荐(1) 编辑
摘要:c:\python33\python.exe c:\python33\trycoding.py 阅读全文
posted @ 2014-05-08 17:13 jihite 阅读(2779) 评论(0) 推荐(0) 编辑
摘要:看代码class A: def __init__(self, val): self.name = val def printName(self): print self.namea = A("hello")a.printName()结果My name is: hello__init__(注意两边各自有两个"_")在类建立新对象时,立马运行,在里面可以做一些初始化。类的方法与普通的函数只有一个区别:它们都有一个额外的参数self,指向自己,但是对象调用这个参数是不用明写(默认,写了就错了我)。 阅读全文
posted @ 2014-03-12 20:38 jihite 阅读(834) 评论(0) 推荐(0) 编辑
摘要:需求今天写了三千二百行代码。今天写了3200行代码。两行意思相同,只是表达方式不太能够,统一掉。原理数字的特征是 数字 + 单位,例如三百,四十二,九千零二可以从后往前遍历,遇到的是0到9的数字,就乘以前一位的单位,遇到新的单位(十百千万)就替换成数字供下一个数字用。举例五百四十三1. 三-->3 3 10, 10 ≥10,且不为0 : r = 103. 四-->4, 4100, 10 0≥10,且不为0 : r = 1005. 五-->5, 5= 10 and i == 0: #应对 十三 十四 十*之类 if val > r: ... 阅读全文
posted @ 2014-03-07 19:54 jihite 阅读(19403) 评论(5) 推荐(1) 编辑
摘要:缘起在自然语言处理过程中,全角、半角的的不一致会导致信息抽取不一致,因此需要统一。转换说明全角半角转换说明有规律(不含空格):全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E)半角字符unicode编码从33~126 (十六进制 0x21~ 0x7E)特例:空格比较特殊,全角为 12288(0x3000),半角为 32(0x20)除空格外,全角/半角按unicode编码排序在顺序上是对应的(半角 + 0x7e= 全角),所以可以直接通过用+-法来处理非空格数据,对空格单独处理。注:1. 中文文字永远是全角,只有英文字母、数字键、符号键才有全角半角的 阅读全文
posted @ 2014-02-18 17:05 jihite 阅读(45257) 评论(1) 推荐(1) 编辑
摘要:会用到的语法 正则字符 释义 举例 + 前面元素至少出现一次 ab+:ab、abbbb 等 * 前面元素出现0次或多次 ab*:a、ab、abb 等 ? 匹配前面的一次或0次 Ab?: A、Ab 等 ^ 作为开始标记 ^a:abc、aaaaaa等 $ 作为结束标记 c$:abc、cccc 等 \d 阅读全文
posted @ 2013-12-24 21:31 jihite 阅读(44743) 评论(0) 推荐(3) 编辑
摘要:matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览、复制、粘贴一下,基本上都能搞定。安装参考 http://blog.csdn.net/daniel_ustc/article/details/9714163官网http://matplotlib.org/1.2.1/index.html注意其中的examples案例1. 柱状图参考h 阅读全文
posted @ 2013-11-24 17:41 jihite 阅读(36147) 评论(1) 推荐(2) 编辑
摘要:看具体示例import redef expand_abbr(sen, abbr): lenabbr = len(abbr) ma = '' for i in range(0, lenabbr): ma += abbr[i] + "[a-z]+" + ' ' print 'ma:', ma ma = ma.strip(' ') p = re.search(ma, sen) if p: return p.group() else: return ''print expand_abbr("W 阅读全文
posted @ 2013-11-13 18:03 jihite 阅读(1439) 评论(0) 推荐(0) 编辑
摘要:math模块:import mathmath.exp(x):e的x次幂math.log(x):对数函数,底数是emath.log10(x):对数函数,底数是10 阅读全文
posted @ 2013-10-25 15:00 jihite 阅读(2772) 评论(0) 推荐(0) 编辑
摘要:ubuntu安装好nltk,调用时,出现问题:解决:Install Setuptools:http://pypi.python.org/pypi/setuptoolsInstall Pip: runsudoeasy_installpipInstall Numpy (optional): runsudopipinstall-UnumpyInstall PyYAML and NLTK: runsudopipinstall-UpyyamlnltkTest installation: runpythonthen typeimportnltk 阅读全文
posted @ 2013-10-18 16:11 jihite 阅读(3319) 评论(0) 推荐(0) 编辑
摘要:脚本开头添加默认编码 python源码中出现了中文字符或要处理中文字符,运行时会出现错误,解决方法是,开头加入字符编码声明: 处理时可能会出现问题: UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: 阅读全文
posted @ 2013-10-17 21:42 jihite 阅读(1840) 评论(0) 推荐(0) 编辑
摘要:Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口,位Python的内置模块,直接import tkinter即可使用。 作为实践, 用Tkinter做了个ascii码转化查询表 1. 产品介绍 界面 功能 通过输入字符或数字查询对应的信息 通过选择列表中的信息查询对应 阅读全文
posted @ 2013-08-28 21:34 jihite 阅读(145220) 评论(18) 推荐(20) 编辑
摘要:对于模块和自己写的程序不在同一个目录下,可以把模块的路径通过sys.path.append(路径)添加到程序中。在程序开头加上:import syssys.path.append(’引用模块的地址') 阅读全文
posted @ 2013-05-24 08:00 jihite 阅读(41895) 评论(2) 推荐(1) 编辑
摘要:函数原型声明:s为字符串,rm为要删除的字符序列s.strip(rm) 删除s字符串中开头、结尾处,位于rm删除序列的字符s.lstrip(rm) 删除s字符串中开头处,位于rm删除序列的字符s.rstrip(rm) 删除s字符串中结尾处,位于rm删除序列的字符注意:1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')例如:2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。例如 :示例: 阅读全文
posted @ 2013-05-23 23:33 jihite 阅读(94147) 评论(1) 推荐(3) 编辑
摘要:通过环境变量import osvalue = 123os.environ['var'] = str(value)os.system('echo $var')参考:http://blog.csdn.net/ysdaniel/article/details/7970978 阅读全文
posted @ 2013-05-19 10:26 jihite 阅读(4603) 评论(0) 推荐(0) 编辑
摘要:linux环境下,没有首先安装python_Levenshtein,用法如下:重点介绍几个该包中的几个计算字串相似度的几个函数实现。1. Levenshtein.hamming(str1, str2)计算汉明距离。要求str1和str2必须长度一致。是描述两个等长字串之间对应位置上不同字符的个数。如2. Levenshtein.distance(str1, str2)计算编辑距离(也成Levenshtein距离)。是描述由一个字串转化成另一个字串最少的操作次数,在其中的操作包括插入、删除、替换。如算法实现 参考动态规划整理:http://www.cnblogs.com/kaituorenshe 阅读全文
posted @ 2013-05-18 22:38 jihite 阅读(26684) 评论(2) 推荐(2) 编辑
摘要:两种方法:1.声明法 2.模块法1.声明法在文件开始生命全局变量(为了区别,一般大写),在具体函数中,具体使用时,加上“global 变量名”。示例:import osimport sysA = 3B = 5def fuc(): global A global B print "fuc_A:" + str(A) print "fuc_B:" + str(B)if __name__ == "__main__": print "A:" + str(A) print "B:" + str(B) B + 阅读全文
posted @ 2013-05-10 23:53 jihite 阅读(3352) 评论(0) 推荐(0) 编辑
摘要:xml文件是可扩展标记语言,在保存数据时,经常和.xml文件打交道,它语法简明、格式友好。具体的信息可以到百度百科科普下,下面主要介绍下我用的处理.xml文件的工具包XML2Dict工具包下载:http://files.cnblogs.com/kaituorensheng/%E5%A4%84%E7%90%86xml%E6%96%87%E4%BB%B6.zip下载后把文件解压,和自己的.py文件放在一起,里边有两个文件:xml2dict.py, object_dict.py,在自己.py文件的开头加上from xml2dict import XML2Dictxml = XML2Dict()r = 阅读全文
posted @ 2013-05-05 19:22 jihite 阅读(9329) 评论(0) 推荐(1) 编辑