Ràng buộc của mảng
Bài học 3 trên 18 trong khóa học Nền tảng NumPy của Coddy.
Mảng có kích thước cố định. Sau khi tạo một mảng có n phần tử, kích thước của mảng sẽ là n và không thể thay đổi sau đó. Để có mảng lớn hơn hoặc nhỏ hơn, ta cần tạo một mảng mới rồi điền dữ liệu vào đó. Mảng không hỗ trợ append hoặc delete như danh sách của Python.
Ví dụ:
ary = np.array([34, 59, 5])Biến ary chứa một mảng 1 chiều có 3 phần tử.
Để truy cập từng phần tử, ta dùng dấu ngoặc [], giống như với danh sách Python thông thường:
ary[1] # chứa giá trị 59Để xóa một phần tử, hãy dùng np.delete. Thao tác này không ảnh hưởng đến ary ban đầu mà trả về một mảng mới không có phần tử bị xóa.
Để thay mảng mới nhỏ hơn cho ary ban đầu, hãy gán kết quả cho biến ary:
ary = np.delete(ary, 1)Để thêm một phần tử, hãy dùng np.append
ary = np.append(ary, 5)Lúc này, ary sẽ chứa [34, 59, 5, 5]. np.append cũng trả về một mảng mới và không sửa đổi mảng ban đầu.
Để truy cập phần tử cuối cùng, ta có thể dùng một trong các cách sau:
ary[-1]
ary[len(ary)-1]
ary[2]Giống như với một list Python thông thường
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Thử thách
DễTạo một hàm có tên array_modifier nhận 3 giá trị: một danh sách, một giá trị và một chỉ số.
Chuyển danh sách thành một mảng numpy rồi chèn giá trị mới vào chỉ số đã chỉ định. Bạn không được dùng các chức năng của danh sách.
Bạn có thể dễ dàng giải bài này bằng phương thức có sẵn .insert, nhưng mình muốn bạn luyện tập các chức năng khác.
Tự làm thử
import numpy as np
def array_modifier(lst, value, index):
passTất cả bài học trong Nền tảng NumPy
Tự luyện tập: Trình biên dịch Python online