Hướng dẫn how do you transpose a matrix in a for loop in python? - làm thế nào để bạn chuyển đổi một ma trận trong một vòng lặp for trong python?
Cho ma trận Show
Tôi cần tính toán chuyển đổi của điều này. Tôi đã làm như sau:
Nhưng điều này cho tôi kết quả sai:
trong khi nó nên
Ai đó có thể cho tôi biết nơi tôi đã sai với mã của mình không? Hỏi ngày 5 tháng 12 năm 2015 lúc 12:12Dec 5, 2015 at 12:12
1 Bạn tham khảo cùng một ma trận, hãy thử khởi tạo một cái mới:
Bạn cũng có thể làm điều đó cho một ma trận chung bằng cách sử dụng danh sách hiểu
Đã trả lời ngày 5 tháng 12 năm 2015 lúc 12:28Dec 5, 2015 at 12:28
NetwavenetwaveNetwave 37.8K6 Huy hiệu vàng45 Huy hiệu bạc81 Huy hiệu đồng6 gold badges45 silver badges81 bronze badges Vấn đề là biến 4 đề cập đến 5, nghĩa là bạn không tạo một bản sao, vì vậy trong vòng lặp, bạn thực sự cũng thay đổi 5. Bạn có thể giải quyết điều này bằng cách tạo một bản sao của 5 kết quả với 8:
Xem câu hỏi: Làm thế nào để nhân bản hoặc sao chép một danh sách? Lưu ý rằng một cách dễ dàng hơn là sử dụng 9:
Sau đó sử dụng 0 để chuyển đổi:
Đã trả lời ngày 5 tháng 12 năm 2015 lúc 12:27Dec 5, 2015 at 12:27
Agoldagoldagold 5.9809 Huy hiệu vàng41 Huy hiệu bạc54 Huy hiệu đồng9 gold badges41 silver badges54 bronze badges
Đã trả lời ngày 26 tháng 12 năm 2019 lúc 5:10Dec 26, 2019 at 5:10
Giả sử rằng ma trận là hình chữ nhật (nghĩa là cùng kích thước danh sách trong tất cả các mảng một chiều), người ta có thể chỉ cần viết một chuyển đổi như sau. 0Lưu ý: Đây không phải là triển khai hiệu quả nhất. Đã trả lời ngày 6 tháng 5 năm 2018 lúc 3:42May 6, 2018 at 3:42
Trong ví dụ này, bạn sẽ học cách chuyển một ma trận (được tạo bằng cách sử dụng 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:
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 từng phần tử như một hàng của ma trận. Ví dụ 1 sẽ đại diện cho ma trận 3x2. Hàng đầu tiên có thể được chọn là 2. Và, phần tử trong cột đầu tiên có thể được chọn là 3.Chuyển đổi của một ma trận là sự trao đổi của các hàng và cột. Nó được ký hiệu là x '. Phần tử ở cột Ith và cột thứ j trong x sẽ được đặt ở hàng thứ j và cột ith trong x '. Vì vậy, nếu x là ma trận 3x2, x 'sẽ là ma trận 2x3. Dưới đây là một vài cách để thực hiện điều này trong Python. Ma trận chuyển vị bằng cách sử dụng vòng lặp lồng nhau 1Đầu ra 2Trong chương trình này, chúng tôi đã sử dụng các vòng lặp 4 lồng nhau để lặp qua mỗi hàng và mỗi cột. Tại mỗi điểm, chúng ta đặt phần tử x [i] [j] vào kết quả [j] [i].Ma trận chuyển vị bằng cách sử dụng danh sách lồng nhau 3Đầu ra của chương trình này giống như trên. Chúng tôi đã sử dụng sự hiểu biết danh sách lồng nhau để lặp qua từng phần tử trong ma trận. |