1:zeros()函数:
zeros(3) : [0,0,0]
zeros((2,3)):两行三列元素为0的数组或可表示为zeros([2,3])
2:read(),readline()以及readlines()的区别:
read():作用读取文件的全部内容,并把读取到的结果返回为字符串类型
readline():作用每次只读取文件的一行内容,返回类型为字符串
readlines():作用读取文件的全部内容,返回类型为list
3 排序方法
sort():只针对lilst有效 ,python中
sorted():针对任何可迭代序列 sorted(iterable,cmp,key,reverse)cmp有两个参数表示按照那个进行排序,key表示一个函数,在每个元素比较前调用,reverse顾名思义就是翻转。python中
例1:list1 = [('david', 90), ('mary',90), ('sara',80),('lily',95)] print(sorted(list1,cmp = lambda x,y: cmp(x[0],y[0])))#按照第一个位置的字母序排序 结果为[('david', 90), ('lily', 95), ('mary', 90), ('sara', 80)] print(sorted(list1,cmp = lambda x,y: cmp(x[1],y[1])))#按照第二个位置的数字序排序结果为[('sara', 80), ('david', 90), ('mary', 90), ('lily', 95)]
例2:list2=['nihao','ay'] print sorted(list1,key=lower())
argsort();numpy库中
argsort函数
argsort函数返回的是数组值从小到大的索引值
Examples
--------
One dimensional array:一维数组
>>> x = np.array([3, 1, 2])
>>> np.argsort(x)
array([1, 2, 0])
Two-dimensional array:二维数组
>>> x = np.array([[0, 3], [2, 2]])
>>> x
array([[0, 3],
[2, 2]])
>>> np.argsort(x, axis=0) #按列排序
array([[0, 1],
[1, 0]])
>>> np.argsort(x, axis=1) #按行排序
array([[0, 1],
[0, 1]])
#######################################
例1:
>>> x = np.array([3, 1, 2])
>>> np.argsort(x) #按升序排列
array([1, 2, 0])
>>> np.argsort(-x) #按降序排列
array([0, 2, 1])
>>> x[np.argsort(x)] #通过索引值排序后的数组
array([1, 2, 3])
>>> x[np.argsort(-x)]
array([3, 2, 1])
另一种方式实现按降序排序:
>>> a = x[np.argsort(x)]
>>> a
array([1, 2, 3])
>>> a[::-1]
array([3, 2, 1])
4 shape():返回数组的长度,如果是二维数组则返回两个值
例 shanpe([0])------1
a=array([[1,2],[2,3]]) a.shape[0]---2 返回行数 a.shape()------(2,2)
5 tile(A,B):B可以是int类型也可以是元组
例:numpy.tile([0,0],5)#在列方向上重复[0,0]5次,默认行1次
numpy.tile([0,0],5)#在列方向上重复[0,0]5次,默认行1次
numpy.tile([0,0],(2,1))#在列方向上重复[0,0]1次,行2次
6 sum函数;平时用的sum应该是默认的axis=0 就是普通的相加,当加入axis=1以后就是将一个矩阵的每一行向量相加。
例:
c = np.array([[0, 2, 1], [3, 5, 6], [0, 1, 1]]) print c.sum() print c.sum(axis=0)4 print c.sum(axis=1) 结果分别是:19, [3 8 8], [ 3 14 2] axis=0, 表示列。 axis=1, 表示行。 7 字典中的get方法:sortedClassCount = sorted(classCount.iteritems(), key=operator.itemgetter(1), reverse=True)dict.get(key, default=None) key表示字典中的键值,default表示默认值当查找的键值不存在则返回默认值 例:dit={'shansh':12,'lihao':11,'hh':13} print dit.get('lh','henhao') 输出为henhao8 算法中一句不理解,解析:
iteritems()和items()区别:dict.items()返回的是一个完整的列表,而dict.iteritems()返回的是一个生成器(迭代器)。
itemgetter():operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子。
a = [1,2,3]
>>> b=operator.itemgetter(1) //定义函数b,获取对象的第1个域的值
>>> b(a)
2
>>> b=operator.itemgetter(1,0) //定义函数b,获取对象的第1个域和第0个的值
>>> b(a)
(2, 1)
要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。