Làm thế nào để bạn tạo một vòng lặp ma trận trong python?

Ma trận là một mảng có chính xác hai chiều và khái niệm này rất quan trọng trong toán học. Tất cả các phần tử trong ma trận được sắp xếp thành các hàng và cột. Ví dụ, ma trận đưa ra dưới đây có 2 hàng và 3 cột và được phát âm là ma trận “hai nhân ba”

Vì không có kiểu dữ liệu tích hợp cho ma trận trong python nên chúng ta có thể tạo ma trận bằng các phương pháp sau

  1. Bằng cách sử dụng danh sách lồng nhau
  2. Bằng cách sử dụng chức năng mảng numpy
  3. Bằng cách sử dụng chức năng ma trận numpy
  4. Bằng cách sử dụng chức năng định hình lại numpy
  5. Bằng cách lấy thông tin đầu vào từ người dùng

1. Bằng cách sử dụng Danh sách lồng nhau

Chúng ta có thể sử dụng danh sách lồng nhau để tạo ma trận

A = [[5, 1, 8], [7, 5, 3], [4, 6, 3]]

for i in A:

print[i]

Hình 1. Sử dụng danh sách lồng nhau

đầu ra

Hình 2. đầu ra

Trong hình 1, chúng ta có ba danh sách phụ bên trong danh sách chính. Chúng tôi lặp qua từng hàng riêng lẻ bằng cách sử dụng vòng lặp for như được hiển thị trong hình 2. Chúng tôi không in danh sách trực tiếp vì điều đó sẽ in danh sách trong một dòng

2. Bằng cách sử dụng Hàm mảng numpy

Chúng ta có thể tạo một ma trận bằng cách sử dụng numpy. hàm array[] trong Python

import numpy as np

A = np.array[[[1, 2, 3], [3, 4, 5]]]

print[A]

print['No. of Dimensions:', A.ndim]

print['Dimensions:', A.shape]

Hình 3. sử dụng numpy. hàm mảng []

đầu ra

hinh 4. đầu ra

Trong hình 3, chúng tôi nhập mô-đun numpy dưới dạng np và chuyển np. hàm mảng như một danh sách lồng nhau tạo ra một ma trận, trong khi kích thước của nó có thể được nhìn thấy trong hình 4 chứa 2 hàng và 3 cột

3. Bằng cách sử dụng Hàm ma trận numpy

Hàm ma trận của mô-đun numpy trả về một ma trận từ một đối tượng giống như mảng hoặc từ một chuỗi dữ liệu. Trong các đối tượng ma trận python kế thừa tất cả các thuộc tính và phương thức của các đối tượng ndarray

ví dụ 1

import numpy as np

A= np.matrix[[[1, 2, 6], [3, 4, 8],[4,8,9]]]

print[A]

print[type[A]]

Hình 5. sử dụng numpy. hàm matrix[] cho đầu vào mảng

đầu ra

Hình 6. đầu ra

Trong hình 5, chúng tôi nhập mô-đun numpy dưới dạng np và chuyển np. hàm ma trận một danh sách lồng nhau. Một ma trận 3×3 được tạo thuộc về numpy. lớp ma trận

ví dụ 2

import numpy as np

A = np.matrix['4 7 8; 7 9 1']

print[A]

Hình 7. sử dụng numpy. hàm matrix[] cho đầu vào chuỗi

đầu ra

Hình 8. đầu ra

Trong ví dụ 2, chúng ta đã chuyển numpy. hàm matrix dưới dạng ma trận chuỗi và chúng tôi đã phân tách các cột bằng dấu phẩy hoặc dấu cách trong khi dấu chấm phẩy phân tách các hàng. Ma trận đầu ra có 2 hàng và 3 cột như trong hình 8

4. Bằng cách sử dụng Hàm định hình lại numpy

các numpy. reshape[] cũng có thể được sử dụng để tạo ma trận và hàm này thay đổi hình dạng của mảng để chúng ta có thể sử dụng nó để thay đổi hình dạng của mảng 1-D thành mảng 2-D mà không cần thay đổi phần tử. Chúng ta phải kiểm tra số lượng phần tử trong một mảng trước khi thay đổi hình dạng của nó

import numpy as np

A = np.array[[[4,1,8,7,5,7,9,6,8]]].reshape[3,3]

print["Matrix= \n", A]

print["Dimensions = ", A.shape]

Hình 9. sử dụng numpy. định hình lại [] chức năng

đầu ra

Hình 10. đầu ra

Ở ví dụ trên ta có mảng 1 chiều gồm 9 phần tử, trong khi hàm reshape[] chuyển mảng này thành mảng 2 chiều nên các phần tử được sắp xếp với kích thước 3×3 có 3 hàng 3 cột

5. Bằng cách lấy Đầu vào từ Người dùng

Trong Python, chúng ta cũng có thể tạo một ma trận lấy đầu vào từ người dùng

row = int[input["enter the number of rows:"]]

col = int[input["enter the number of columns:"]]

# Initialize matrix

m = []

print["enter the entries row wise:"]

# For user input

for i in range[row]: # A for loop for row entries

a = []

for j in range[col]: # A for loop for column entries

a.append[int[input[]]]

m.append[a]

# For printing the matrix

for i in range[row]:

for j in range[col]:

print[m[i][j], end=" "]

print[]


Hình 11. Sử dụng phương thức nhập liệu

đầu ra

Hình 12. đầu ra

Trong ví dụ trên, chúng tôi lấy một số hàng và cột làm đầu vào từ người dùng. Chúng tôi đã khai báo một danh sách trống 'm'. Sử dụng các phần tử của vòng lặp for lồng nhau được thêm cho hàng và cột vào danh sách 'm' trong khi các phần tử của ma trận được in như trong hình 12

Karim Buzdar

Karim Buzdar có bằng kỹ sư viễn thông và có một số chứng chỉ quản trị hệ thống bao gồm CCNA RS, SCP và ACE. Là một kỹ sư CNTT và tác giả kỹ thuật, anh ấy viết cho nhiều trang web khác nhau

Chủ Đề