리스트에서 데이터 삭제하기 - del, pop, slicing, remove
1. del 키워드를 사용하여 삭제하기:
- 장점:
- 간단하고 직관적인 방법으로 데이터를 삭제할 수 있습니다.
- 단점:
- 삭제된 데이터 이후의 데이터가 한 칸씩 앞으로 당겨지므로, 리스트의 길이에 따라 성능이 저하될 수 있습니다.
- 삭제된 데이터의 인덱스 이후의 모든 데이터를 재배열해야 하므로, 데이터의 개수가 많을 경우 성능이 저하될 수 있습니다.
item_list = [1, 2, 3, 4, 5] # 삭제할 데이터가 있는 리스트
index = 2 # 삭제할 데이터의 인덱스
del item_list[index]
print(item_list) # [1, 2, 4, 5]
2. pop() 메서드를 사용하여 삭제하고 반환하기:
- 장점 :
- 삭제된 데이터를 반환받을 수 있어, 삭제한 데이터를 활용할 수 있습니다.
- 단점:
- 삭제된 데이터 이후의 데이터가 한 칸씩 앞으로 당겨지므로, 리스트의 길이에 따라 성능이 저하될 수 있습니다.
- 삭제된 데이터의 인덱스 이후의 모든 데이터를 재배열해야 하므로, 데이터의 개수가 많을 경우 성능이 저하될 수 있습니다.
item_list = [1, 2, 3, 4, 5] # 삭제할 데이터가 있는 리스트
index = 2 # 삭제할 데이터의 인덱스
removed_item = item_list.pop(index)
print(item_list) # [1, 2, 4, 5]
3. 리스트 슬라이싱을 사용하여 삭제하기:
- 장점 :
- 원본 리스트를 변경하지 않고 삭제된 데이터를 제외한 새로운 리스트를 생성할 수 있습니다.
- 삭제된 데이터 이후의 데이터를 재배열할 필요가 없어 성능이 좋을 수 있습니다.
- 단점 :
- 리스트 슬라이싱은 새로운 리스트를 생성하므로, 메모리 사용량이 증가할 수 있습니다.
- 큰 리스트에서 일부 데이터를 삭제할 경우, 새로운 리스트를 생성하는 과정이 오래 걸릴 수 있습니다.
item_list = [1, 2, 3, 4, 5] # 삭제할 데이터가 있는 리스트
index = 2 # 삭제할 데이터의 인덱스
item_list = item_list[:index] + item_list[index+1:]
print(item_list) # [1, 2, 4, 5]
4. remove() 메서드를 사용하여 값으로 삭제하기:
- 장점 :
- 삭제할 값을 직접 지정하여 삭제할 수 있습니다.
- 삭제된 데이터 이후의 데이터를 재배열할 필요가 없어 성능이 좋을 수 있습니다.
- 단점 :
- 삭제할 값을 정확히 지정해야 하므로, 삭제할 데이터가 중복되는 경우 첫 번째로 일치하는 데이터만 삭제됩니다.
- 삭제할 값이 리스트에 존재하지 않는 경우 ValueError가 발생합니다.
item_list = [1, 2, 3, 4, 5] # 삭제할 데이터가 있는 리스트
value = 3 # 삭제할 데이터의 값
item_list.remove(value)
print(item_list) # [1, 2, 4, 5]
'개발언어 Back-End > Python' 카테고리의 다른 글
함수안에 데이터클래스 정의의 용도와 사용 예시 (0) | 2024.03.17 |
---|---|
데이터 클래스(dataclasses ) 의 사용목적, 단점, 사용 예시 (1) | 2024.02.01 |
파이썬 버전 관리 도구 pyenv, 패키지 관리도구 Poetry 총 정리 - 완결편 (0) | 2023.11.03 |
타입 힌트 Callable 그리고 여러 유형의 반환 값을 위한 Union (0) | 2023.04.09 |
__all__을 사용하는 이유 (0) | 2021.07.05 |
댓글