파이썬 리스트에서 요소를 제거하는 방법은 크게 인덱스를 통한 제거 방법과 값을 통한 제거 방법이 있습니다.
인덱스로 제거하기
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함수의 매개변수에 인덱스를 넘겨주면 해당 인덱스의 원소가 리스트에서 지워지게 되는데요. 만약 매개 변수가 없을때는 자동으로 -1 값이 들어가서 리스트의 맨 마지막 요소를 제거합니다.
user_1 = ['Jason' , 'Smith', 'Kevin']
user_1.pop(1) # 'Smith' 삭제
print(user_1)
값으로 제거하기
이 방법은 remove함수에 값을 넘겨주면 리스트에서 같은 값을 가지는 원소를 지워줍니다. 하지만 모든 값들을 지워주지는 않고 가장 먼저 발견된 요소를 지워줍니다.
user_1 = ['Jason' , 'Smith', 'Kevin', 'Smith']
user_1.remove('Smith') # 'Smith' 삭제
print(user_1)
위에서 보이시는 바와 같이 가장 먼저 발견된 'Smith'가 리스트에서 삭제되었습니다. 만약 리스트에 존재하는 모든 Smith를 지우고 싶다면 반복문을 통해 삭제해주어야 합니다.
while 'Smith' in user_1:
user_1.remove('Smith') # 'Smith' 삭제
위와 같은 방법을 통해 리스트에 존재하는 모든 Smith를 삭제할 수 있습니다.
리스트의 원소 모두 제거하기
clear함수를 이용하면 리스트 내의 모든 원소를 말끔하게 지워줍니다. 아래 코드를 실행하면 user_1에 모든 원소들이 지워진 것을 확인하실 수 있습니다.
user_1 = ['Jason' , 'Smith', 'Kevin', 'Smith']
user_1.clear() # 모두 삭제
print(user_1)
'Python' 카테고리의 다른 글
[Python] 파이썬 리스트에서 최소/최대 값 찾기 - min/max 함수 (0) | 2019.10.22 |
---|---|
[Python] 파이썬 range 함수 사용법 (3) | 2019.10.22 |
[Python] 파이썬 리스트에 요소 추가하기 (0) | 2019.10.21 |
[Python] 딕셔너리에 키가 있는지 체크하기 (0) | 2019.10.21 |
[Python] 딕셔너리 값 추가/제거 하기 (0) | 2019.10.21 |