dict.get()函数:
get() 函数返回指定键的值,即键对应的value,如果值不在字典中返回默认值。
语法:dict.get(key, default=None)。其中key为要查找的键,如果key对应的值不存在,则返回default默认值。
dict.setdefault()函数:
源码:D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
说明:当D中不存在k时,相当于D.get(k,d) 和 D[k]=d;否则相当于D.get(k,d).
和get()类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
语法:dict.setdefault(key, default=None)
参数:
key:要查找的键;default:默认值
返回值:
如果字典中包含有给定键和该键对应的值,则返回该键对应的值,否则返回为该键设置的值。
注意:使用setdefault()函数的效率是比较高的。
scipy.sparse.csr_matrix的理解:
CSR,compressed sparse row,稀疏矩阵,是一种压缩数据节省内存空间的存储方法。
网上比较流行的一张原理解释图:
csr_matrix((data, indices, indptr), [shape=(M, N)]),标准的创建格式
原理图解释:
rows表示原有Matrix的行数,为4,[0,2,4,7,9]即为传入参数的indptr,最后一个9表示该稀疏矩阵中存储的非零元素个数;
0,2,4,7分别表示原矩阵中每一行的第一个非零元素在data中的偏离位置,即row offsets;图中的values对应参数data,是按行优先的原则存储非零数据;column indices对应参数indices。
官方文档链接:https://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html
官方文档中有一个例子不是很明白,这里贴一个别人的注释,解释得挺清楚的。
https://github.com/jiaoyang13/-/blob/master/CSR-matrixWork.py