Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬의 다른 목록에서 인덱스 목록을 제거하는 방법은 무엇입니까?

<시간/>

여기에 두 개의 목록이 있습니다. L1은 특정 요소를 제거할 목록 개체이고 L2는 제거할 요소의 인덱스를 포함합니다.

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

L2에 나열된 인덱스에서 요소를 제거하기 위해 먼저 L1에서 열거 객체를 만듭니다. enumerate() 함수는 목록의 인덱스 및 요소에 해당하는 두 요소 튜플의 컬렉션인 열거 객체를 반환합니다.

그런 다음 이 열거자에 대해 두 개의 변수를 사용하여 for 루프를 실행하고 각 인덱스를 L2의 요소와 비교합니다. 발견되면 L1의 해당 항목이 삭제됩니다. 여기 해결책이 있습니다

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

결과 L1에는 L2에 언급된 인덱스 이외의 요소가 포함됩니다.

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