본문 바로가기

Python

[Python] 파이썬 리스트 요소 제거하기

반응형

 

파이썬 리스트에서 요소를 제거하는 방법은 크게 인덱스를 통한 제거 방법과 값을 통한 제거 방법이 있습니다. 

인덱스로 제거하기

del 리스트명[인덱스]

del 키워드를 통해 리스트명에 인덱스를 넣어주면 해당 인덱스에 위치한 요소가 지워집니다. 아래 예제 코드에서는 1번 인덱스에 위치한 Smith가 삭제되는 것을 확인하실 수 있습니다. 결과적으로 user_1에는 ['Jason', 'Kevin'] 이 남아있습니다.

user_1 = ['Jason' , 'Smith', 'Kevin']
del user_1[1]    # 'Smith' 삭제
print(user_1)

 

del을 통한 삭제는 슬라이싱을 통해 여러개를 한번에 삭제도 할 수 있습니다. 아래 코드는 Smith와 Kevin을 슬라이싱 기법을 활용하여 삭제합니다. (slice 방식으로 1:3은 1, 2번 인덱스를 뜻합니다) 결과적으로는 user_1에는 Jason만 남게됩니다.

user_1 = ['Jason' , 'Smith', 'Kevin']
del user_1[1:3] # 'Smith', 'Kevin' 삭제
print(user_1)

 

리스트명.pop(인덱스)

pop함수를 통해 지울수도 있습니다. pop함수의 매개변수에 인덱스를 넘겨주면 해당 인덱스의 원소가 리스트에서 지워지게 되는데요. 만약 매개 변수가 없을때는 자동으로 -1 값이 들어가서 리스트의 맨 마지막 요소를 제거합니다.

user_1 = ['Jason' , 'Smith', 'Kevin']
user_1.pop(1) # 'Smith' 삭제
print(user_1)

 

값으로 제거하기

리스트.remove(값)

이 방법은 remove함수에 값을 넘겨주면 리스트에서 같은 값을 가지는 원소를 지워줍니다. 하지만 모든 값들을 지워주지는 않고 가장 먼저 발견된 요소를 지워줍니다. 

user_1 = ['Jason' , 'Smith', 'Kevin', 'Smith']
user_1.remove('Smith') # 'Smith' 삭제
print(user_1)
['Jason', 'Kevin', 'Smith']

위에서 보이시는 바와 같이 가장 먼저 발견된 'Smith'가 리스트에서 삭제되었습니다. 만약 리스트에 존재하는 모든 Smith를 지우고 싶다면 반복문을 통해 삭제해주어야 합니다.

while 'Smith' in user_1:    
	user_1.remove('Smith') # 'Smith' 삭제

위와 같은 방법을 통해 리스트에 존재하는 모든 Smith를 삭제할 수 있습니다.

 

리스트의 원소 모두 제거하기

리스트.clear()

clear함수를 이용하면 리스트 내의 모든 원소를 말끔하게 지워줍니다. 아래 코드를 실행하면 user_1에 모든 원소들이 지워진 것을 확인하실 수 있습니다.

user_1 = ['Jason' , 'Smith', 'Kevin', 'Smith']
user_1.clear() # 모두 삭제
print(user_1)

 

 

반응형