Lập chỉ mục cơ bản
Bài học 10 trên 18 trong khóa học Nền tảng NumPy của Coddy.
Các mảng một chiều của Numpy có thể được truy cập bằng chỉ số giống như danh sách trong Python:
Truy cập phần tử trong danh sách Python bằng chỉ số:
lst = [1, 2, 3, 4]
lst[1] # --> 2Truy cập phần tử trong mảng Numpy bằng chỉ số:
ary = np.array([1, 2, 3, 4])
ary[1] # --> 2Nhưng với các mảng nhiều chiều hơn, mọi thứ trở nên thú vị.
Truy cập phần tử trong danh sách 2D của Python bằng chỉ số:
lst = [[1, 2], [3, 4]]
lst[0][1] # --> 2Truy cập phần tử trong mảng 2D của Numpy bằng chỉ số:
ary = np.array([[1, 2], [3, 4]])
ary[0,1] # --> 2 Hãy để ý sự khác biệt: ary[0,1], lst[0][1]
Ta có thể dùng cú pháp danh sách tương tự với mảng Numpy: ary[0][1], nhưng cách này kém hiệu quả. Tốt hơn là dùng: ary[0, 1]
ary[0][1]kém hiệu quả hơn vì sau lần truy cập chỉ số đầu tiên, chương trình tạo một mảng tạm thời mới, rồi truy cập phần tử có chỉ số 1 trong mảng đó.
Cách truy cập phần tử trong mảng 3D bằng chỉ số?
ary = np.array([
[[1], [2]],
[[3], [4]]
])
ary[0, 0, 0] # --> 1
ary[0, 1, 0] # --> 2
ary[1, 0, 0] # --> 3
ary[1, 1, 0] # --> 4Bà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ễLấy phần tử (bằng cách dùng chỉ số) chứa giá trị 5 từ mảng 3D ary
Tự làm thử
import numpy as np
ary = np.array([ [ [ 0, 1 ], [ 2, 3 ] ], [ [ 4, 5 ], [ 6, 7 ] ] ])
res = ary[] # <-- Complete the indexing
print(res) # Don't touch
Tất cả bài học trong Nền tảng NumPy
3Lập chỉ mục mảng NumPy
Lập chỉ mục cơ bảnCắt látLập chỉ mục mảngLập chỉ mục theo chiềuLập chỉ mục BooleanLập chỉ mục với nhiều điều kiệnTự luyện tập: Trình biên dịch Python online