Hướng dẫn how do you reverse a one direction array in python? - làm cách nào để bạn đảo ngược mảng một hướng trong python?

Mở rộng về những gì người khác đã nói tôi sẽ đưa ra một ví dụ ngắn.

Nếu bạn có một mảng 1D ...

>>> import numpy as np
>>> x = np.arange(4) # array([0, 1, 2, 3])
>>> x[::-1] # returns a view
Out[1]: 
array([3, 2, 1, 0])

Nhưng nếu bạn đang làm việc với một mảng 2D ...

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])

Điều này không thực sự đảo ngược ma trận.

Nên sử dụng np.flip để thực sự đảo ngược các yếu tố

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])

Nếu bạn muốn in các yếu tố của Ma trận sử dụng từng người một cùng với Flip

>>> for el in np.flip(x).flat:
>>>     print(el, end = ' ')
9 8 7 6 5 4 3 2 1 0

Hướng dẫn how do you reverse a one direction array in python? - làm cách nào để bạn đảo ngược mảng một hướng trong python?

Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để đảo ngược nội dung của mảng Numpy 1D và 2D (cột & hàng) bằng toán tử NP.FLIP () và [].

Trước hết, mô -đun nhập khẩu Numpy, tức là.

import numpy as np

Bây giờ giả sử chúng ta có một mảng numpy, tức là.

# Create a Numpy array from list of numbers
arr = np.array([6, 1, 4, 2, 18, 9, 3, 4, 2, 8, 11])

Bây giờ, hãy để Lừa đảo ngược các nội dung của mảng Numpy được tạo ra ở trên bằng cách sử dụng một thủ thuật nhỏ,

# Get a reversed view of numpy array
reversedArr = arr[::-1]

print('Reversed Array : ', reversedArr)

Đầu ra:

Reversed Array :  [11  8  2  4  3  9 18  2  4  1  6]

Nó đã hoạt động như thế nào?

Trong mảng numpy, chúng tôi sử dụng toán tử [] với cú pháp sau,

arr[start:end:stepsize]

Về cơ bản, nó sẽ chọn các yếu tố từ đầu đến cuối với kích thước bước như Stepize. Chúng tôi đã không cung cấp tham số bắt đầu và kết thúc, do đó theo mặc định, nó đã chọn mảng hoàn chỉnh. Ngoài ra, kích thước bước là -1, do đó nó đã chọn các yếu tố từ cuối cùng đến đầu tiên.stepsize. We did not provided start and end parameter, therefore by default it picked the complete array. Also, the step size was -1, therefore it selected the elements from last to first.

Mảng đảo ngược chỉ xem

đảo ngược chỉ là một cái nhìn đảo ngược của mảng. Nó có nghĩa là bất kỳ sửa đổi nào trong chế độ xem này đảo ngược cũng sẽ được phản ánh trong mảng ban đầu, tức là. is just a reversed view of the arr. It means any modification in this view reversedArr will also be reflected in the original array arr i.e.

# Modification in reversed array will be reflected in original array too
reversedArr[1] = 100

print('Modified Reversed Array : ', reversedArr)
print('Original Array : ', arr)

Đầu ra:

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
0

Quảng cáo

Mảng Numpy ngược bằng np.flip ()

Mô -đun Numpy Python cung cấp một hàm để lật nội dung của mảng numpy dọc theo các trục khác nhau, tức là.

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
1

Tranh luận:

  • mảng: mảng numpy
  • Trục: Trục dọc theo đó cần lật / đảo ngược nội dung.
    • Nếu không có: lật / đảo ngược nội dung dọc theo tất cả các trục của mảng đầu vào

Hãy để hiểu biết bởi các ví dụ,

Mảng Numpy 1D ngược bằng NP.FLIP ()

Giả sử chúng ta có một mảng numpy, tức là.

# Create a Numpy array from list of numbers
arr = np.array([6, 1, 4, 2, 18, 9, 3, 4, 2, 8, 11])

Bây giờ, hãy để đảo ngược các nội dung của mảng Numpy được tạo ở trên bằng NP.Flip (),np.flip(),

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
3

Đầu ra:

Reversed Array :  [11  8  2  4  3  9 18  2  4  1  6]

Vì nó là mảng 1D numpy, vì vậy chúng tôi không cần cung cấp tham số trục.

Mảng Numpy 2D ngược bằng NP.FLIP ()

Hãy để tạo ra một mảng 2D numpy, tức là.

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
5

Nội dung của mảng 2d numpy là,

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
6

Nội dung ngược trong tất cả các hàng và tất cả các cột của mảng 2D Numpy

Nếu chúng tôi không cung cấp bất kỳ tham số trục nào trong np.flip () thì FIT sẽ đảo ngược nội dung dọc theo tất cả các trục của mảng 2D, tức là.

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
7

Đầu ra:

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
8

Nó lật nội dung trong tất cả các hàng và tất cả các cột của mảng 2D

Nội dung đảo ngược của tất cả các hàng chỉ trong mảng 2d numpy

>>> x = np.arange(10).reshape(2, 5)
>>> x
Out[2]:
array([[0, 1, 2, 3, 4],
       [5, 6, 7, 8, 9]])

>>> x[::-1] # returns a view:
Out[3]: array([[5, 6, 7, 8, 9],
               [0, 1, 2, 3, 4]])
9

Đầu ra:

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
0

Nội dung ngược của tất cả các cột chỉ trong mảng 2D Numpy

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
1

Đầu ra:

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
2

Nội dung đảo ngược chỉ một cột trong mảng 2d numpy

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
3

Đầu ra:

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
4

Nó lật nội dung của cột thứ 2 chỉ trong mảng numpy.

Nội dung đảo ngược chỉ một hàng trong mảng 2d numpy

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
5

Đầu ra:

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
6

Nó lật nội dung của hàng thứ 2 chỉ trong mảng numpy.

Ví dụ hoàn chỉnh như sau:

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
7

Output:

>>> np.flip(x)
Out[4]: array([[9, 8, 7, 6, 5],
               [4, 3, 2, 1, 0]])
8

Chúng ta có thể đảo ngược mảng trong Python không?

Sử dụng Phương thức Reverse () tương tự như danh sách, phương thức Reverse () cũng có thể được sử dụng để trực tiếp đảo ngược một mảng trong python của mô -đun mảng. Nó đảo ngược một mảng tại vị trí ban đầu của nó, do đó không yêu cầu thêm không gian để lưu trữ kết quả.

Bạn có thể chuyển một danh sách 1D trong Python không?

Có hai cách để chuyển một mảng 1-D: Cắt nó bằng "np.newaxis" hoặc không có.!Cách viết khác, ở trên không có hoạt động T.!slice it with "np. newaxis" or none.! other way of writing, the above without T operation.!

Làm thế nào để bạn đảo ngược một mảng trong Python mà không có chức năng?

Một cách khác để đảo ngược danh sách Python mà không cần sử dụng bất kỳ phương pháp tích hợp nào là sử dụng các vòng lặp.Tạo một danh sách trống để sao chép các yếu tố đảo ngược.Trong vòng lặp For, thêm trình lặp làm phần tử danh sách ở đầu với các phần tử danh sách mới.Vì vậy, theo cách đó, các yếu tố danh sách sẽ được đảo ngược.using loops. Create an empty list to copy the reversed elements. In the for loop, add the iterator as a list element at the beginning with the new list elements. So in that way, the list elements will be reversed.

Làm thế nào để bạn đảo ngược một ma trận trong Python?

Để đảo ngược thứ tự cột trong một ma trận, chúng tôi sử dụng phương thức numpy.fliplr ().Phương thức lật các mục trong mỗi hàng theo hướng trái/phải.Dữ liệu cột được bảo tồn nhưng xuất hiện theo một thứ tự khác với trước.numpy. fliplr() method. The method flips the entries in each row in the left/right direction. Column data is preserved but appears in a different order than before.