1.python中的列表不是静态的
运行结果:
这是一个比较隐蔽的错误,a是同一个列表,所以第一个变后面的都变了
解决办法,用内部列表
运行结果:
2.python中传的参数的个数未知:
例如我做分类器,当待分类的文章的篇数不定时,该如何处理和定义函数?
这篇博客已经说的非常详尽了
http://blog.youkuaiyun.com/u012102306/article/details/52250028
定义函数时善用*字符
coding: utf-8
def add_int(*a):
s = 0
print "input a is: ", a
for e in a:
s += e
# return s
print s
a_list=[1,2,3]
add_int(*a_list)
输出结果
input a is: (1, 2, 3)
6
3.用count来计算特定词在文章中的词频作处理时会出现误差,必须用结巴分词预处理.
因为结巴分词
4. 关于匹配的(//转义)问题
假如在python中想用正则匹配匹配”/t”那么输入的就必须是”t”,因为/t在python中是有特殊含义的,所以必须用表示完//,再到正则表达式中变成/
5.生成器
生成器不仅可以针对列表,也可以针对字典:
eg:
list = [i for i in jieba.cut(“我来到北京清华大学”, cut_all=True)]
print list
dicti = dict((i, None) for i in jieba.cut(“我来到北京清华大学”, cut_all=True))
print dicti
结果:
[u’\u6211’, u’\u6765\u5230’, u’\u5317\u4eac’, u’\u6e05\u534e’, u’\u6e05\u534e\u5927\u5b66’, u’\u534e\u5927’, u’\u5927\u5b66’]
{u’\u6e05\u534e’: None, u’\u5317\u4eac’: None, u’\u6e05\u534e\u5927\u5b66’: None, u’\u534e\u5927’: None, u’\u6211’: None, u’\u5927\u5b66’: None, u’\u6765\u5230’: None}