Chương trình Python để chuyển đổi ma trận

Trong ví dụ này, bạn sẽ học cách chuyển vị một ma trận (được tạo bằng cách sử dụng một danh sách lồng nhau).

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Python cho vòng lặp
  • Danh sách Python

Trong Python, chúng ta có thể triển khai ma trận dưới dạng danh sách lồng nhau (danh sách bên trong danh sách). Chúng ta có thể coi mỗi phần tử như một hàng của ma trận.

Ví dụ X = ((1, 2), (4, 5), (3, 6))sẽ biểu diễn một ma trận 3x2. Hàng đầu tiên có thể được chọn là X(0). Và, phần tử trong cột đầu tiên của hàng đầu tiên có thể được chọn là X(0)(0).

Chuyển vị của ma trận là sự hoán đổi giữa các hàng và cột. Nó được ký hiệu là X '. Phần tử ở hàng thứ i và cột thứ j trong X sẽ được đặt ở hàng thứ j và cột thứ i trong X '. Vì vậy, nếu X là ma trận 3x2 thì X 'sẽ là ma trận 2x3.

Dưới đây là một số cách để thực hiện điều này trong Python.

Ma trận Transpose sử dụng Vòng lặp lồng nhau

 # Program to transpose a matrix using a nested loop X = ((12,7), (4 ,5), (3 ,8)) result = ((0,0,0), (0,0,0)) # iterate through rows for i in range(len(X)): # iterate through columns for j in range(len(X(0))): result(j)(i) = X(i)(j) for r in result: print(r) 

Đầu ra

 (12, 4, 3) (7, 5, 8) 

Trong chương trình này, chúng tôi đã sử dụng các forvòng lặp lồng nhau để lặp qua từng hàng và từng cột. Tại mỗi thời điểm, chúng ta đặt phần tử X (i) (j) vào result (j) (i).

Chuyển đổi ma trận bằng cách sử dụng tính năng hiểu danh sách lồng nhau

 ''' Program to transpose a matrix using list comprehension''' X = ((12,7), (4 ,5), (3 ,8)) result = ((X(j)(i) for j in range(len(X))) for i in range(len(X(0)))) for r in result: print(r)

Đầu ra của chương trình này giống như trên. Chúng tôi đã sử dụng khả năng hiểu danh sách lồng nhau để lặp qua từng phần tử trong ma trận.

thú vị bài viết...