Nếu bạn sử dụng numpy
, điều này rất dễ dàng:
slice = arr[:2,:2]
hoặc nếu bạn muốn của 0,
slice = arr[0:2,0:2]
Bạn sẽ nhận được kết quả tương tự.
* lưu ý rằng slice
thực sự là tên của kiểu nội trang. Nói chung, tôi sẽ tư vấn cho đối tượng của bạn một "tên" khác.
Một cách khác, nếu bạn đang làm việc với danh sách của danh sách *:
slice = [arr[i][0:2] for i in range(0,2)]
(Lưu ý rằng khối 0 ở đây là không cần thiết:. [arr[i][:2] for i in range(2)]
cũng sẽ làm việc).
Điều tôi đã làm ở đây là tôi lấy từng hàng mong muốn 1 tại một thời điểm (arr[i]
). Sau đó tôi cắt các cột tôi muốn ra khỏi hàng đó và thêm nó vào danh sách mà tôi đang xây dựng.
Nếu bạn ngây thơ thử: arr[0:2]
Bạn nhận được 2 hàng đầu tiên nếu sau đó bạn cắt một lần nữa arr[0:2][0:2]
, bạn chỉ cần cắt hai hàng đầu tiên lại.
* Điều này thực sự hiệu quả đối với các mảng có nhiều mảng, nhưng nó sẽ chậm so với giải pháp "gốc" mà tôi đã đăng ở trên.
Loại dữ liệu nào là 'arr'? Đây có phải là danh sách các danh sách không? – mgilson
@mgilson Tôi đã cập nhật loại câu hỏi trong câu hỏi – SlightlyCuban