美文网首页Python
Python函数以及一些注意

Python函数以及一些注意

作者: d834a9a2551c | 来源:发表于2018-08-17 13:58 被阅读16次

    函数

    • 注意.append()和.extend()是不一样的,如
      假定存在两个列表,a和b:
    >>> a= [1,2,3]�
    >>> b=[4,5,6]
    >>> a.append(b) �
    >>> a
    [1, 2, 3, [4, 5, 6]]
    

    如果执行a.append(b) ,则列表得到了第四个元素,而且第四个元素也是一个列表。然而
    如果使用a .extend(b):

    �>>> a= [1,2,3]
    >>> a .extend(b)
    >>> a
    

    [1, 2, 3, 4, 5, 6] �则得到一个包含a和b所有元素的列表。

    • .argsort():默认从小到大排序,然后返回索引值,如 [1,3,0]从小到大是0,1,3返回对应索引值[2,0,1]
    • array(): 可以将矩阵转换为数组
    • corrcoef(x,y):得到序列x、y之间的相关系数
    • .count(b):计算xx中b的数量
    • cov():计算协方差
    • eye(m):常见m*m的单位矩阵
    • get():Python 字典 dict.get(key, default=None)函数返回指定键的值,如果值不在字典中返回默认值。
    • linalg.det(x):求矩阵x的行列式
    • linalg.eig(x):返回矩阵x的特征值以及特征向量
    • map():会根据提供的函数对指定序列做映射。
    • mat():可以将数组转化为矩阵
    • mean():求平均值
    • min(0)返回该矩阵中每一列的最小值
      min(1)返回该矩阵中每一行的最小值
      max(0)返回该矩阵中每一列的最大值�
      max(1)返回该矩阵中每一行的最大值
    • nonzero(a):返回a中非0元素索引值,如果a是二维的,如[[0,0,3],[1,0,0]]那么返回的是(array([0, 1]), array([2, 0])) 第一个数组是0轴的索引值,第二个数组是1轴的索引值
    • power(x1,x2):对x1求x2次方,这里x1可以是数,也可以是数组(对应x2的列数要相同)
    • random.rand(x,y)与random.randn(x,y):
      创建一个x行y列的随机数二维数组,但是前者的数在[0,1)范围内,后者的数符合标准正态分布。
    • set() :函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
    • .shape[]:读取矩阵、数组的长度,.shape[0]是y轴长度
    • sorted():Python内置的排序函数sorted可以对list或者iterator进行排序
      函数原型sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

    iterable:是可迭代类型;
    cmp:比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0;
    key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序;
    reverse:排序规则. reverse = True(降序)或者 reverse = False(升序),有默认值。
    返回值:是一个经过排序的可迭代类型,与iterable一样。

    • sqrt():平方根计算
    • .sum():对于二维数组,axis=0,y轴上相加;axis=1,x轴上相加;对于一维数组,只有axis=0;对于所有类型,sum() 默认是所有数相加
    • .tile(a,(m,n)):将a数组在x轴上复制n倍,在y轴上复制m倍,如果为1,则是不复制
    • var():求方差,var(w,n) 。w是样本数据集,n取0求样本方差的无偏估计值(除以N-1);取1求得的是方差(除以N)
    • zeros():创建元素为0的数组

    注意

    1. 在二维矩阵中,例如
     testMat=matrix([[1., 0., 0., 0.],
            [0., 1., 0., 0.],
            [0., 0., 1., 0.],
            [0., 0., 0., 1.]]) 
    testMat[[2,1],:] 
    # 这样的取值方法表示,取第2、1行的所有列。
    matrix([[0., 0., 1., 0.],
            [0., 1., 0., 0.]])
    
    # 同理
    testMat[[3,1],:] 
    # 表示取第3、1行的所有列。
    matrix([[0., 0., 0., 1.],
            [0., 1., 0., 0.]])
    
    1. 一些引用的注意事项
    a=4
    b=a
    # 这时候 id(a) 等于 id(b)
    a=5
    # 这时候 id(a)改变了,id(b)不变
    # b还是等于4
    # a指向的对象变了,而b还是指向‘4’这个对象
    
    a=[1,2,3]
    b=a
    # 这时候 id(a) 等于 id(b)
    a=[4,2,3]
    # 这时候 id(a)改变了,id(b)不变
    # b还是等于[1,2,3]
    # a指向的对象变了,而b还是指向‘[1,2,3]’这个对象
    
    a=[1,2,3]
    b=a
    # 这时候 id(a) 等于 id(b)
    a[0]=10
    # 这时候 id(a)、id(b)不变
    # b等于a等于[4,2,3]
    # 若是b[0]=10,结果相同
    # 因为改变的是a[0]指向的对象,而a指向的对象和b指向的对象不变
    
    1. 报错 'dict' object has no attribute 'has_key'
      python2:
      if dict.has_key(word):
      python3:
      if word in dict:

    2. 关于Python中[i:j:s]
      i代表开始序号,
      j为结尾元素的后一个序号,
      s是步长,缺省时默认为1。
      如a[0,1,2,3,4,5,6,7,8,9]
      a[0:10],输出的是从0到9;而a[0:9],输出的是从0到8
      当s>0时,i缺省默认为0,j缺省默认为len(a),即序列长度。
      当s<0时,i缺省默认为-1,j缺省默认为-(len(a)+1),即想输出从9到0,a[-1:-11:-1]
      当s=-1时,输出与默认为1时相反,即倒序
      如a[::-1],输出时从9到0


    框架

    • NumPy:是一个第三方的Python包,用于科学计算。
    • Matplotlib:数据可视化,Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表。
    • Tkinter:GUI框架,图形开发界面的库。

    相关文章

      网友评论

        本文标题:Python函数以及一些注意

        本文链接:https://www.haomeiwen.com/subject/lybzbftx.html