Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để xóa danh sách chỉ mục khỏi danh sách khác trong python?

Chúng ta có hai danh sách ở đây, L1 là đối tượng danh sách mà từ đó các phần tử nhất định sẽ bị loại bỏ và L2 chứa các chỉ số của các phần tử sẽ được loại bỏ.

>>> L1=[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L2=[2, 4, 6]

Để loại bỏ các phần tử tại các chỉ mục được liệt kê trong L2, trước tiên chúng ta tạo đối tượng liệt kê từ L1. Hàm enumerate () trả về đối tượng liệt kê là tập hợp của hai bộ phần tử, tương ứng với chỉ mục và phần tử trong danh sách.

Sau đó, chúng tôi chạy một vòng lặp for với hai biến trên bảng liệt kê này và so sánh từng chỉ mục với phần tử trong L2. Nếu được tìm thấy, mục tương ứng trong L1 sẽ bị xóa. Đây là giải pháp

>>> e=enumerate(L1)
>>> for i,j in e:
if i in L2:
del L1[i]

Kết quả L1 sẽ chứa các phần tử khác với các phần tử tại các chỉ mục được đề cập trong L2

>>> L1
[1, 2, 4, 5, 7, 8]