Làm cách nào bạn có thể sắp xếp các phần tử của một mảng theo thứ tự giảm dần trong Python?

Sắp xếp có thể được thực hiện bằng cách sử dụng một số thuật toán. Sắp xếp mảng theo thứ tự tăng dần và giảm dần trong Python có thể được thực hiện bằng hàm sort(). Bằng cách sử dụng hàm sort(), bạn có thể sắp xếp mảng theo cả thứ tự tăng dần và thứ tự giảm dần chỉ bằng cách sử dụng Reverse=True hoặc Reverse=False

Ví dụ

Đầu vào

  • kích thước của mảng = 5
  • mảng = 3 9 4 8 1

đầu ra

  • Thứ tự tăng dần = 1 3 4 8 9
  • Thứ tự giảm dần = 9 8 4 3 1

Sử dụng hàm


# Syntax of NumPy array sort()
numpy.sort(arr, axis= -1, kind=None, order=None)
0 để sắp xếp các phần tử của mảng NumPy theo thứ tự có thứ tự. Tham số

# Syntax of NumPy array sort()
numpy.sort(arr, axis= -1, kind=None, order=None)
2 là bắt buộc. Nếu bạn thực hiện hàm này trên mảng một chiều, nó sẽ trả về một mảng một chiều được sắp xếp chứa các phần tử theo thứ tự tăng dần

3. 1 Nhận một mảng NumPy được sắp xếp (Thứ tự tăng dần)

Trước tiên, hãy tạo một mảng NumPy bằng cách sử dụng np. array() và áp dụng sắp xếp. Theo mặc định, nó thực hiện thứ tự tăng dần


# Import NumPy module
import numpy as np

# Create NumPy array
array = np.array([5,8,6,12,3,15,1])

# To get a sorted array(ascending order)
sorted_array = np.sort(array)
print(sorted_array)

# Output
# [ 1  3  5  6  8 12 15]

Từ đoạn mã trên, nó trả về một bản sao được sắp xếp của mảng NumPy, nhưng NumPy ban đầu vẫn không thay đổi

3. 2 Nhận một mảng NumPy được sắp xếp (thứ tự giảm dần)

Cho đến nay, chúng ta đã thấy rằng theo mặc định, hàm


# Syntax of NumPy array sort()
numpy.sort(arr, axis= -1, kind=None, order=None)
0 sắp xếp mảng NumPy theo thứ tự tăng dần. Hãy xem cách sắp xếp các mảng NumPy theo thứ tự giảm dần

Bằng cách sắp xếp một mảng NumPy theo thứ tự giảm dần, sắp xếp các phần tử từ giá trị lớn nhất đến giá trị nhỏ nhất. Bạn có thể sử dụng cú pháp


# Syntax of NumPy array sort()
numpy.sort(arr, axis= -1, kind=None, order=None)
9 để đảo ngược mảng. Ví dụ: sắp xếp [5,8,6,12] theo thứ tự giảm dần dẫn đến [12 8 6 5]


# Create NumPy array
array = np.array([5,8,6,12])

# Use numpy.ndarray.sort() to sort 
# An array in descending order
array[::-1].sort()
print(array)

# Output
# [12  8  6  5]

Ngoài ra, nếu bạn sử dụng


# Import NumPy module
import numpy as np

# Create NumPy array
array = np.array([5,8,6,12,3,15,1])

# To get a sorted array(ascending order)
sorted_array = np.sort(array)
print(sorted_array)

# Output
# [ 1  3  5  6  8 12 15]
0, nó sẽ tạo một bản sao được sắp xếp ngược lại của mảng


# Use np.sort(array) to sort 
# An array in descending order
array_copy = np.sort(array)[::-1]
print(array_copy)

# Output
# [12  8  6  5]

4. Sắp xếp mảng nhiều chiều bằng NumPy sort()

Khi bạn chuyển một mảng nhiều chiều làm tham số cho


# Syntax of NumPy array sort()
numpy.sort(arr, axis= -1, kind=None, order=None)
0, nó sẽ sắp xếp mảng theo thứ tự tăng dần. Sử dụng

# Import NumPy module
import numpy as np

# Create NumPy array
array = np.array([5,8,6,12,3,15,1])

# To get a sorted array(ascending order)
sorted_array = np.sort(array)
print(sorted_array)

# Output
# [ 1  3  5  6  8 12 15]
2 để không làm phẳng mảng


# Create NumPy arrays   
arr = np.array([[12, 15, 7], [13, 5,11], [8, 6, 10],[45,54,70]]) 
Print("array:\n",arr)

# Output: array:
# [[12 15  7]
# [13  5 11]
# [ 8  6 10]
# [45 54 70]]

# Use numpy.sort() to Sort a multi-dimensional array
arr2 = np.sort(arr) 
print("Sorted array:\n",arr2)

# Output: Sorted array:
# [[ 7 12 15]
# [ 5 11 13]
# [ 6  8 10]
# [45 54 70]] 

# Sort along the last axis
arr2 = np.sort(arr, axis = -1)        
print ("Sorted array along axis=-1:\n",arr2)

# Output: Sorted array along axis=-1:
# [[ 7 12 15]
# [ 5 11 13]
# [ 6  8 10]
# [45 54 70]]

4. 1 Sắp xếp các mảng NumPy nhiều chiều dọc theo trục được chỉ định

Nếu bạn chuyển một mảng nhiều chiều làm tham số của numpy. sort() dọc theo một trục xác định với giá trị


# Import NumPy module
import numpy as np

# Create NumPy array
array = np.array([5,8,6,12,3,15,1])

# To get a sorted array(ascending order)
sorted_array = np.sort(array)
print(sorted_array)

# Output
# [ 1  3  5  6  8 12 15]
3, nó sẽ làm phẳng mảng trước khi sắp xếp. Hãy xem ví dụ dưới đây,


 # Create NumPy arrays   
arr = np.array([[12, 15, 7], [13, 5,11], [8, 6, 10],[45,54,70]]) 

# Sort multi-dimensional array along a specified axis
arr2 = np.sort(arr, axis= None) 
print(" Sorted array:\n",arr2) 

# OutPut : Sorted array:
# [ 5  6  7  8 10 11 12 13 15 45 54 70]

Khi bạn chuyển một mảng nhiều chiều dưới dạng tham số sắp xếp() dọc theo một trục đã chỉ định với giá trị


# Import NumPy module
import numpy as np

# Create NumPy array
array = np.array([5,8,6,12,3,15,1])

# To get a sorted array(ascending order)
sorted_array = np.sort(array)
print(sorted_array)

# Output
# [ 1  3  5  6  8 12 15]
4, giá trị này sẽ sắp xếp mảng theo thứ tự tăng dần theo cột


# Use numpy.sort() to first axis 
arr2 = np.sort(arr, axis= 0) 
print("Sorted array:\n",arr2) 

# OutPut: Sorted array:
# [[ 8  5  7]
# [12  6 10]
# [13 15 11]
# [45 54 70]]

5. Sắp xếp các loại mảng NumPy khác nhau

Sử dụng hàm này để sắp xếp các mảng có kiểu dữ liệu khác nhau như mảng chuỗi, mảng boolean, v.v. Khi bạn sắp xếp một mảng với các ký tự, nó sẽ sắp xếp theo thứ tự bảng chữ cái


# Sort the array alphabetically
arr = np.array([['orange','mango','grapes'], ['banana','cherry','apple'], ['papaya','watermelon','jackfruit']]) 
arr2 = np.sort(arr) 
print(" Sorted array:\n",arr2) 

# Output: Sorted array:
# [['grapes' 'mango' 'orange']
# ['apple' 'banana' 'cherry']
# ['jackfruit' 'papaya' 'watermelon']]

Hãy xem sắp xếp một mảng với các giá trị boolean


# Sort a boolean array    
arr = np.array([[True, False, True],[False, True, True],[False, False, True]]) 
arr2 = np.sort(arr) 
print(arr2)

# Output
# [[False  True  True]
# [False  True  True]
# [False False  True]] 

6. Phần kết luận

Trong bài viết này, tôi đã giải thích cách sắp xếp mảng/mảng NumPy bằng cách sử dụng hàm


# Syntax of NumPy array sort()
numpy.sort(arr, axis= -1, kind=None, order=None)
0 với các ví dụ. Và tôi cũng đã giải thích cách sắp xếp các giá trị mảng Đa chiều cùng với một giá trị trục xác định