Mảng hai chiều¶
Tóm lược nội dung
Bài này trình bày những khái niệm về mảng hai chiều.
Đặt vấn đề¶
Làm thế nào xử lý khi dữ liệu không phải là một dãy, mà là một bảng số liệu?
Khái quát về mảng¶
Tương tự bài học trước, mảng là cấu trúc dữ liệu dùng để lưu trữ và xử lý tập hợp các phần tử.
Bài học này đề cập mảng hai chiều.
Mảng hai chiều¶
Mảng hai chiều dùng để lưu trữ và xử lý dữ liệu theo dạng lưới, dạng bảng hoặc ma trận, gồm nhiều hàng và nhiều cột.
Ví dụ:
Một số hình ảnh của mảng hai chiều là:
- Bàn cờ vua
- Bảng số Sudoku
- Bảng tính Excel
Trong mảng hai chiều, số phần tử của mỗi hàng ứng với số cột của mảng. Nói cách khác, các hàng đều có số phần tử bằng nhau, hoặc các hàng đều có số cột như nhau.
Mảng hai chiều có thể được xem là mảng của các mảng, nghĩa là, mỗi phần tử của mảng hai chiều là mảng một chiều.
Khởi tạo¶
Tương tự mảng một chiều, kiểu list
của Python cho phép khởi tạo bằng cách liệt kê phần tử hoặc list comprehension.
Khi liệt kê, ta sử dụng các cặp ngoặc vuông lồng nhau: [[ ], [ ], ... ]
Ví dụ 1:
Khởi tạo mảng hai chiều bằng cách liệt kê phần tử.
Output:
Ví dụ 2:
Khởi tạo mảng một chiều bằng toán tử *
.
Output:
Ví dụ 3:
Khởi tạo mảng hai chiều bằng cú pháp list comprehension.
Output:
Truy xuất phần tử¶
Mỗi phần tử của mảng hai chiều được truy xuất bằng hai chỉ số, gọi là chỉ số hàng và chỉ số cột, đặt trong hai cặp ngoặc vuông [][]
, chỉ số hàng nằm trước, chỉ số cột nằm sau.
Ví dụ 4:
In ra màn hình giá trị của một vài phần tử.
Output:
Câu hỏi 1
Cũng với mảng B
của ví dụ 3, dòng lệnh print(B[1][2])
sẽ in ra màn hình kết quả gì?
Đáp án
B[1][2]
là phần tử ở hàng giữa, có chỉ số cột là 2. Như vậy, kết quả in ra là 8.
Ví dụ 5:
In ra số hàng và số cột của mảng hai chiều.
Output:
Câu hỏi 2
Cũng với mảng B của ví dụ 4, dòng lệnh print(len(B[1]))
sẽ in ra màn hình kết quả gì?
Đáp án
B[1]
là hàng có chỉ số 1 của mảng B. Vì các hàng đều có số cột bằng nhau, nên lệnh len(B[1])
là tương đương với len(B[0])
.
Như vậy, kết quả in ra là 4.
Duyệt mảng¶
Khi duyệt mảng hai chiều, ta thường sử dụng hai vòng lặp lồng nhau:
- Vòng lặp ngoài dùng để duyệt các hàng.
- Vòng lặp trong dùng để duyệt các cột, tức các phần tử của hàng đang duyệt.
Ví dụ 6:
In mảng hai chiều theo dạng hàng và cột.
Output:
Câu hỏi 3
Bạn hãy chỉnh sửa các dòng lệnh của vòng lặp để in ra màn hình tất cả phần tử của mảng B trên cùng một dòng.
Sơ đồ tóm tắt nội dung¶
Google Colab¶
Các đoạn mã trong bài này được đặt tại Google Colab để bạn có thể thử nghiệm theo cách của riêng mình.
Some English words¶
Vietnamese | Tiếng Anh |
---|---|
cột | column |
hàng | row |
mảng của mảng | array of arrays |
mảng hai chiều | two-dimensional array |
Bài tập thực hành¶
-
Chưa có