Nó không hoàn toàn rõ ràng với tôi những gì bạn đang theo đuổi, vì vậy đây là một dự đoán:
text = [[4, 3, 8, 9, 5, 1, 2, 7, 6], [8, 3, 4, 1, 5, 9, 6, 7, 2], [6, 1, 8, 7, 5, 3, 2, 9, 4], [6, 9, 8, 7, 5, 3, 2, 1, 4], [6, 1, 8, 7, 5, 3, 2, 1, 4], [6, 1, 3, 2, 9, 4, 8, 7, 5]] # convert to 3D list in-place for i, data in enumerate(text): text[i] = [[data[0], data[1], data[2]], [data[3], data[4], data[5]], [data[6], data[7], data[8]]] # utility for print a 3x3 matrix def formatrix(label, matrix): indent = len(label) return '\n'.join((label + ', '.join(map(str, matrix[0])), indent*' ' + ', '.join(map(str, matrix[1])), indent*' ' + ', '.join(map(str, matrix[2])))) # print each matrix in reformatted list for i, matrix in enumerate(text): print(formatrix('text[%s]: ' % i, matrix))Output:
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5Viết một chương trình Numpy để tạo ma trận 3x3 với các giá trị từ 2 đến 10. Giải pháp mẫu:-:- Mã Python: Đầu ra mẫu: Trình chỉnh sửa mã Python-Numpy: Có một cách khác để giải quyết giải pháp này? Đóng góp mã của bạn (và nhận xét) thông qua Disqus. Trước đây: Viết một chương trình Numpy để chuyển đổi danh sách giá trị số thành một mảng numpy một chiều. Write a NumPy program to convert a list of numeric value into a one-dimensional NumPy array.Numpy: Bài tập thể dục đối tượng Array-3 với giải pháp
Next: Write a NumPy program to create a null vector of size 10 and update sixth value to 11.
Mức độ khó của bài tập này là gì?
Kiểm tra kỹ năng lập trình của bạn với bài kiểm tra của W3Resource.
Python: Lời khuyên trong ngày
Cấu trúc từ điển mặc định (một lớp từ điển lấy lại giá trị mặc định khi được truy cập khóa không tồn tại):
>>> import collections >>> m = collections.defaultdict(int) >>> m['a'] 0 >>> m = collections.defaultdict(str) >>> m['a'] '' >>> m['b'] += 'a' >>> m['b'] 'a' >>> m = collections.defaultdict(lambda: '[default value]') >>> m['a'] '[default value]' >>> m['b'] '[default value]' >>> m = collections.defaultdict(list) >>> m['a'] []- Bài tập: Top 16 chủ đề phổ biến nhất hàng tuần
- Bài tập SQL, Thực hành, Giải pháp - Tham gia
- Bài tập SQL, Thực hành, Giải pháp - Quan sát phụ
- JavaScript Basic - Bài tập, Thực hành, Giải pháp
- Java Array: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Tuyên bố có điều kiện
- Cơ sở dữ liệu nhân sự - Sắp xếp bộ lọc: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Chuỗi
- Các loại dữ liệu Python: Từ điển - Bài tập, Thực hành, Giải pháp
- Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
- Mảng C ++: Bài tập, Thực hành, Giải pháp
- Báo cáo và vòng lặp có điều kiện JavaScript - Bài tập, Thực hành, Giải pháp
- Thuật toán cơ bản C# Sharp: Bài tập, Thực hành, Giải pháp
- Python Lambda - Bài tập, Thực hành, Giải pháp
- Python Pandas DataFrame: Bài tập, Thực hành, Giải pháp
- Công cụ chuyển đổi
- JavaScript: HTML Mẫu xác thực
Ma trận là cấu trúc dữ liệu hai chiều trong đó các số được sắp xếp thành các hàng và cột. Ví dụ:
Ma trận này là ma trận 3x4 (phát âm là "ba by bốn") vì nó có 3 hàng và 4 cột.
Python không có loại tích hợp cho ma trận. Tuy nhiên, chúng tôi có thể coi một danh sách một danh sách là một ma trận. Ví dụ:
A = [[1, 4, 5], [-5, 8, 9]]Chúng ta có thể coi danh sách này của một danh sách là một ma trận có 2 hàng và 3 cột.
Hãy chắc chắn tìm hiểu về danh sách Python trước khi tiến hành bài viết này.
Hãy xem cách làm việc với một danh sách lồng nhau.
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] print("A =", A) print("A[1] =", A[1]) # 2nd row print("A[1][2] =", A[1][2]) # 3rd element of 2nd row print("A[0][-1] =", A[0][-1]) # Last element of 1st Row column = []; # empty list for row in A: column.append(row[2]) print("3rd column =", column)Khi chúng tôi chạy chương trình, đầu ra sẽ là:
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] A[1] = [-5, 8, 9, 0] A[1][2] = 9 A[0][-1] = 12 3rd column = [5, 9, 11]Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
- Thêm hai ma trận
- Chuyển một ma trận
- Nhân hai ma trận
Sử dụng danh sách lồng nhau làm ma trận hoạt động cho các tác vụ tính toán đơn giản, tuy nhiên, có một cách làm việc tốt hơn với ma trận trong Python bằng gói Numpy.
Mảng numpy
Numpy là một gói cho máy tính khoa học có hỗ trợ cho một đối tượng mảng N chiều mạnh mẽ. Trước khi bạn có thể sử dụng Numpy, bạn cần cài đặt nó. Để biết thêm thông tin,
- Truy cập: Làm thế nào để cài đặt Numpy?
- Nếu bạn đang ở trên Windows, hãy tải xuống và cài đặt phân phối Anaconda của Python. Nó đi kèm với Numpy và một số gói khác liên quan đến khoa học dữ liệu và học máy.
Khi Numpy được cài đặt, bạn có thể nhập và sử dụng nó.
Numpy cung cấp mảng số đa chiều (thực sự là một đối tượng). Hãy lấy một ví dụ:
import numpy as np a = np.array([1, 2, 3]) print(a) # Output: [1, 2, 3] print(type(a)) # Output: <class 'numpy.ndarray'>Như bạn có thể thấy, lớp mảng của Numpy được gọi là import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 6.
Làm thế nào để tạo ra một mảng numpy?
Có một số cách để tạo ra các mảng numpy.
1. Mảng số nguyên, phao và số phức tạp
import numpy as np A = np.array([[1, 2, 3], [3, 4, 5]]) print(A) A = np.array([[1.1, 2, 3], [3, 4, 5]]) # Array of floats print(A) A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # Array of complex numbers print(A)Khi bạn chạy chương trình, đầu ra sẽ là:
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 02. Mảng số không và những cái
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 1Ở đây, chúng tôi đã chỉ định import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 7 đến 32 bit (4 byte). Do đó, mảng này có thể lấy các giá trị từ import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 8 đến import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 9.
3. Sử dụng Arange () và Shape ()
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 2Tìm hiểu thêm về các cách khác để tạo ra một mảng numpy.
Hoạt động ma trận
Trên đây, chúng tôi đã đưa cho bạn 3 ví dụ: bổ sung hai ma trận, nhân hai ma trận và chuyển đổi ma trận. Chúng tôi đã sử dụng danh sách lồng nhau trước đây để viết các chương trình đó. Hãy xem làm thế nào chúng ta có thể thực hiện cùng một nhiệm vụ bằng cách sử dụng mảng numpy.
Bổ sung hai ma trận
Chúng tôi sử dụng toán tử [[ 2 3 4] [ 5 6 7] [ 8 9 10]] 0 để thêm các phần tử tương ứng của hai ma trận numpy.
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 3Nhân hai ma trận
Để nhân hai ma trận, chúng tôi sử dụng phương pháp [[ 2 3 4] [ 5 6 7] [ 8 9 10]] 1. Tìm hiểu thêm về cách Numpy.dot hoạt động.
Lưu ý: [[ 2 3 4] [ 5 6 7] [ 8 9 10]] 2 được sử dụng để nhân mảng (nhân các phần tử tương ứng của hai mảng) không nhân số ma trận. [[ 2 3 4] [ 5 6 7] [ 8 9 10]] 2 is used for array multiplication (multiplication of corresponding elements of two arrays) not matrix multiplication.
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 4Chuyển đổi ma trận
Chúng tôi sử dụng numpy.transpose để tính toán chuyển đổi của một ma trận.
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 5Như bạn có thể thấy, Numpy làm cho nhiệm vụ của chúng tôi dễ dàng hơn nhiều.
Truy cập các phần tử, hàng và cột Ma trận truy cập
Truy cập các yếu tố ma trận
Tương tự như danh sách, chúng ta có thể truy cập các yếu tố ma trận bằng chỉ mục. Hãy bắt đầu với một mảng numpy một chiều.
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 6Khi bạn chạy chương trình, đầu ra sẽ là:
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 72. Mảng số không và những cái
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 8Khi chúng tôi chạy chương trình, đầu ra sẽ là:
text[0]: 4, 3, 8 9, 5, 1 2, 7, 6 text[1]: 8, 3, 4 1, 5, 9 6, 7, 2 text[2]: 6, 1, 8 7, 5, 3 2, 9, 4 text[3]: 6, 9, 8 7, 5, 3 2, 1, 4 text[4]: 6, 1, 8 7, 5, 3 2, 1, 4 text[5]: 6, 1, 3 2, 9, 4 8, 7, 5 9Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 0Khi chúng tôi chạy chương trình, đầu ra sẽ là:
import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 1Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
Thêm hai ma trậnKhi chúng tôi chạy chương trình, đầu ra sẽ là:
import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 3Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.
Thêm hai ma trận
Chuyển một ma trận
Nhân hai ma trận
import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 4Sử dụng danh sách lồng nhau làm ma trận hoạt động cho các tác vụ tính toán đơn giản, tuy nhiên, có một cách làm việc tốt hơn với ma trận trong Python bằng gói Numpy.
import numpy as np x = np.arange(2, 11).reshape(3,3) print(x) 5Mảng numpy
Numpy là một gói cho máy tính khoa học có hỗ trợ cho một đối tượng mảng N chiều mạnh mẽ. Trước khi bạn có thể sử dụng Numpy, bạn cần cài đặt nó. Để biết thêm thông tin,
- Truy cập: Làm thế nào để cài đặt Numpy?
- Nếu bạn đang ở trên Windows, hãy tải xuống và cài đặt phân phối Anaconda của Python. Nó đi kèm với Numpy và một số gói khác liên quan đến khoa học dữ liệu và học máy.