• 【数组操作】 创建、排序


    1. 创建数组:

    python 创建一维数组:

    import numpy as np
    
    count = np.zeros(5) # 创建元素全 0 的一维数组
    print(count)
    '''运行结果:[0. 0. 0. 0. 0.]'''
    
    count = np.ones(5)  # 创建元素全 1 的一维数组
    print(count)
    '''运行结果:[1. 1. 1. 1. 1.]'''

    python 创建二维数组:

     1 import numpy as np
     2 arr = [ [0] * 5 for i in range(2)]
     3 print(type(arr), '
    ', arr)
     4 arr = np.array(arr)            # list 转 数组
     5 print(type(arr), '
    ', arr)
     6 
     7 arr2 = np.zeros((2,5))
     8 print(type(arr2), '
    ', arr2)
     9 arr2 = arr2.tolist()           # 数组 转 list
    10 print(type(arr2), '
    ', arr2)
    11 
    12 ''' 运行结果:
    13 <class 'list'> 
    14  [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
    15 <class 'numpy.ndarray'> 
    16  [[0 0 0 0 0]
    17  [0 0 0 0 0]]
    18 <class 'numpy.ndarray'> 
    19  [[0. 0. 0. 0. 0.]
    20  [0. 0. 0. 0. 0.]]
    21 <class 'list'> 
    22  [[0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0]]
    23 '''

    2. 按二维数组的某行或某列进行排序 (numpy lexsort)

    转自:https://www.cnblogs.com/focus-z/p/13799524.html

    要求:数组中内容均为 数字类型

     1 ### python 对数组按某行或某列进行排序
     2 # 链接:https://www.cnblogs.com/liyuxia713/p/7082091.html
     3 import numpy as np
     4 
     5 arr = [[ 8,  7,  6,  5],
     6        [ 4,  3,  2,  1],
     7        [12, 11, 10,  9]]
     8 
     9 a = np.array(arr)
    10 
    11 print('按最后一列 顺序 排序: 
    ' , a [ np.lexsort(a.T) ] )
    12 print('按最后一列 逆序 排序: 
    ' , a[np.lexsort(-a.T)] )
    13 print('
    ')
    14 print('按第一列 顺序 排序:   
    ' , a[np.lexsort(a[:,::-1].T)] )
    15 print('按第一列 逆序 排序:   
    ' , a[np.lexsort(-a[:,::-1].T)] )
    16 print('
    ')
    17 print('按最后一行 顺序 排序: 
    ' , a.T[np.lexsort(a)].T )
    18 print('按最后一行 逆序 排序: 
    ' , a.T[np.lexsort(-a)].T )
    19 print('
    ')
    20 print('按第一行 顺序 排序:   
    ' , a.T[np.lexsort(a[::-1,:])].T )
    21 print('按第一行 逆序 排序:   
    ' , a.T[np.lexsort(-a[::-1,:])].T )
    22 
    23 ''' 运行结果:
    24 按最后一列 顺序 排序: 
    25  [[ 4  3  2  1]
    26  [ 8  7  6  5]
    27  [12 11 10  9]]
    28 按最后一列 逆序 排序: 
    29  [[12 11 10  9]
    30  [ 8  7  6  5]
    31  [ 4  3  2  1]]
    32 
    33 
    34 按第一列 顺序 排序:   
    35  [[ 4  3  2  1]
    36  [ 8  7  6  5]
    37  [12 11 10  9]]
    38 按第一列 逆序 排序:   
    39  [[12 11 10  9]
    40  [ 8  7  6  5]
    41  [ 4  3  2  1]]
    42 
    43 
    44 按最后一行 顺序 排序: 
    45  [[ 5  6  7  8]
    46  [ 1  2  3  4]
    47  [ 9 10 11 12]]
    48 按最后一行 逆序 排序: 
    49  [[ 8  7  6  5]
    50  [ 4  3  2  1]
    51  [12 11 10  9]]
    52 
    53 
    54 按第一行 顺序 排序:   
    55  [[ 5  6  7  8]
    56  [ 1  2  3  4]
    57  [ 9 10 11 12]]
    58 按第一行 逆序 排序:   
    59  [[ 8  7  6  5]
    60  [ 4  3  2  1]
    61  [12 11 10  9]]
    62 
    63 '''
  • 相关阅读:
    CodeForces 279B Books (滑动窗口)
    LightOJ 1010 Knights in Chessboard (规律)
    HDU 2665 Kth number (主席树)
    URAL 2014 Zhenya moves from parents (线段树)
    HDU 5973 Game of Taking Stones (威佐夫博弈+高精度)
    HDU 5974 A Simple Math Problem (解方程)
    HDU 5980 Find Small A (水题)
    Spring入门篇——第5章 Spring AOP基本概念
    Java入门第二季——第4章 多态
    Spring入门篇——第4章 Spring Bean装配(下)
  • 原文地址:https://www.cnblogs.com/lyj0123/p/13807276.html
Copyright © 2020-2023  润新知