知识点1:python strip()函数和Split函数的用法总结
原文代码:
def loadDataSet():
dataMat = []
labelMat = []
fr = open('testSet.txt')
for line in fr.readlines():
lineArr = line.strip().split()
strip函数原型
1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
例如:
2.这里的rm删除序列是只要边(开头或结尾)上的字符在删除序列内,就删除掉。
例如 :
示例:
字符串的split用法
说明:
Python中没有字符类型的说法,只有字符串,这里所说的字符就是只包含一个字符的字符串!!!
split返回的是一个列表。
首先列出一种常用的情况,不带参数,默认是空白字符。如下:
结果为:
1.按某一个字符分割,如‘.’
str = ('www.google.com')
print str
str_split = str.split('.')
print str_split
str = ('www.google.com')
print str
str_split = str.split('.',1)
print str_split
结果如下:
3.按某一字符串分割。如:‘||’
str = ('WinXP||Win7||Win8||Win8.1')
print str
str_split = str.split('||')
print str_split
结果如下:
4.按某一字符串分割,且分割n次。如:按‘||’分割2次
str = ('WinXP||Win7||Win8||Win8.1')
print str
str_split = str.split('||',2)
print str_split
结果如下:
5.按某一字符(或字符串)分割,且分割n次,并将分割的完成的字符串(或字符)赋给新的(n+1)个变量。(注:见开头说明)
如:按‘.’分割字符,且分割1次,并将分割后的字符串赋给2个变量str1,str2
url = ('www.google.com')
str1, str2 = url.split('.', 1)
print str1
print str2
结果如下:
知识点2:Python List append()方法
append() 方法用于在列表末尾添加新的对象。
以下实例展示了 append()函数的使用方法:
aList = [123, 'xyz', 'zara', 'abc'];
aList.append( 2009 );
print "Updated List : ", aList;
以上实例输出结果如下:
Updated List : [123, 'xyz', 'zara', 'abc', 2009]
知识点3:numpy.mat()创建矩阵
原文代码:
def gradAscent(dataMatIn,classLabels):
dataMatrix = mat(dataMatIn)
知识点4:numpy的getA()/getA1()/getH()/getI()函数
1.mat.getA()
将自身矩阵变量转化为ndarray类型的变量。
等价于np.asarray(self)
a = np.mat([[1,2],[3,4]])
a
Out[251]:
matrix([[1, 2],
[3, 4]])
a.getA()
Out[252]:
array([[1, 2],
[3, 4]])
2.mat.getA1()
等价于np.asarray(self).ravel()
a
Out[256]:
matrix([[1, 2],
[3, 4]])
a.getA1()
Out[257]: array([1, 2, 3, 4])
3.mat.getH()
返回自身(如果是复数矩阵)对偶转置矩阵,如果为实数矩阵,则等价于np.transpose(self)
x = np.mat(np.arange(12).reshape(3,4))
x
Out[259]:
matrix([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
z = x - 1j*x
z
Out[262]:
matrix([[ 0. +0.j, 1. -1.j, 2. -2.j, 3. -3.j],
[ 4. -4.j, 5. -5.j, 6. -6.j, 7. -7.j],
[ 8. -8.j, 9. -9.j, 10.-10.j, 11.-11.j]])
z.getH()
Out[263]:
matrix([[ 0. -0.j, 4. +4.j, 8. +8.j],
[ 1. +1.j, 5. +5.j, 9. +9.j],
[ 2. +2.j, 6. +6.j, 10.+10.j],
[ 3. +3.j, 7. +7.j, 11.+11.j]])
4.mat.getI()
返回可逆矩阵的逆。
x = np.mat(np.arange(12).reshape(3,4))
x
Out[265]:
matrix([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
x.getI()
Out[266]:
matrix([[-0.3375 , -0.1 , 0.1375 ],
[-0.13333333, -0.03333333, 0.06666667],
[ 0.07083333, 0.03333333, -0.00416667],
[ 0.275 , 0.1 , -0.075 ]])
知识点5:Python uniform() 函数
uniform() 方法将随机生成下一个实数,它在 [x, y) 范围内。
import random
random.uniform(x, y)
注意:uniform()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法
import random
print "uniform(5, 10) 的随机数为 : ", random.uniform(5, 10)
print "uniform(7, 14) 的随机数为 : ", random.uniform(7, 14)
uniform(5, 10) 的随机数为 : 6.98774810047
uniform(7, 14) 的随机数为 : 12.2243345905