Tôi có một mảng có sẵn và một danh sách chứa một số đối tượng lát cắt (có chứa (start, end)
tuple). Tôi đang tìm cách để loại bỏ các vị trí đối tượng slice từ mảng ban đầu và nhận được một mảng thứ hai với các giá trị còn lại.Xóa nhiều lát từ một mảng có nhiều mảng
Toy dụ:
myarray = np.arange(20)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19])
mylist=(slice(2,4),slice(15,19))
làm điều gì đó và kết quả nên
array([0, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])
Mảng có thể được trong một vài trăm ngàn lớn, danh sách các đối tượng slice có thể chứa vài ngàn yếu tố và Tôi cần phải chạy các hoạt động thường xuyên, vì vậy tốc độ là hơi quan trọng.
Xóa hàng loạt không lấy danh sách các lát mà tôi có thể thấy?
Hiện tại tôi đang tạo danh sách đối tượng slice và cắt nó, nhưng tạo ra phần bổ sung là một quá trình hơi khó xử khi tôi sắp xếp danh sách slice của mình sau đó lặp qua nó, tạo các đối tượng slice bổ sung nếu cần. Tôi hy vọng có một cách tao nhã hơn tôi đã không hình dung!
Điều đó làm việc tuyệt vời, chúc mừng! – anordell