Python中不同排序技术的变化

这些都是不同类型的排序技术,表现非常不同。让我们研究一下哪种技术有效,以及使用哪种技术。

null

让a成为a 努比 大堆

  • a、 排序() (i) 对数组进行适当排序并返回None (二)退货类型为无 (iii)占用较少的空间。没有创建副本,因为它直接对原始数组排序 (iv)快于(a)

    # Python code to sort an array in-place
    # using a.sort
    import numpy as np
    # Numpy array created
    a = np.array([ 9 , 3 , 1 , 7 , 4 , 3 , 6 ])
    # unsorted array print
    print ( 'Original array:' , a)
    # Return type is None
    print ( 'Return type:' , a.sort())
    # Sorted array output
    print ( 'Original array sorted->' , a)

    
    

    OUTPUT: For a.sort()
    Original array:
     [9 3 1 7 4 3 6]
    Return type: None
    Original array sorted-> [1 3 3 4 6 7 9]
    
  • (a) (i) 从旧列表中创建一个新列表并返回新列表,排序 (ii)返回类型是一个列表 (iii)创建原始数组的副本并进行排序时,会占用更多空间 (iv)比a.排序慢

    # Python code to create a sorted copy using
    # sorted()
    import numpy as np
    # Numpy array created
    a = np.array([ 9 , 3 , 1 , 7 , 4 , 3 , 6 ])
    # unsorted array print
    print ( 'Original array:' , a)
    b = sorted (a)
    # sorted list returned to b, b type is
    # <class 'list'>
    print ( 'New array sorted->' , b)
    # original array no change
    print ( 'Original array->' , a)

    
    

    OUTPUT:a.sorted()
    Original array:
     [9 3 1 7 4 3 6]
    New array sorted-> [1, 3, 3, 4, 6, 7, 9]
    Original array-> [9 3 1 7 4 3 6]
    
  • NP阿格索特(a) (i) 返回将对数组进行排序的索引 (二)返回类型为numpy数组 (iii)在返回新的排序索引数组时占用空间

    # Python code to demonstrate working of np.argsort
    import numpy as np
    # Numpy array created
    a = np.array([ 9 , 3 , 1 , 7 , 4 , 3 , 6 ])
    # unsorted array print
    print ( 'Original array:' , a)
    # Sort array indices
    b = np.argsort(a)
    print ( 'Sorted indices of original array->' , b)
    # To get sorted array using sorted indices
    # c is temp array created of same len as of b
    c = np.zeros( len (b), dtype = int )
    for i in range ( 0 , len (b)):
    c[i] = a[b[i]]
    print ( 'Sorted array->' , c)

    
    

    OUTPUT:np.argsort(a)
    Original array:
     [9 3 1 7 4 3 6]
    Sorted indices of original array-> [2 1 5 4 6 3 0]
    Sorted array-> [1 3 3 4 6 7 9]
    
  • NP词汇分类((b,a)) (i) 使用一系列键执行间接排序 (ii)按a排序,然后按b排序 (iii)沿指定轴对键进行排序的ints索引数组的返回类型ndarray (iv)在返回按对排序的索引的新数组时占用空间。

    # Python code to demonstrate working of
    # np.lexsort()
    import numpy as np
    # Numpy array created
    a = np.array([ 9 , 3 , 1 , 3 , 4 , 3 , 6 ]) # First column
    b = np.array([ 4 , 6 , 9 , 2 , 1 , 8 , 7 ]) # Second column
    print ( 'column a, column b' )
    for (i, j) in zip (a, b):
    print (i, ' ' , j)
    ind = np.lexsort((b, a)) # Sort by a then by b
    print ( 'Sorted indices->' , ind)

    
    

    OUTPUT:np.lexsort((b, a))
    column a, column b
    9   4
    3   6
    1   9
    3   2
    4   1
    3   8
    6   7
    Sorted indices-> [2 3 1 5 4 6 0]
    

本文由 肖亚·乌帕尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享