Python에서 리스트의 모든 요소를 한 번에 제거하는 방법은 여러 가지가 있습니다. 각 방법은 상황과 코드 스타일에 따라 장단점이 있으므로, 이 글에서는 대표적인 네 가지 방법을 예제와 함께 자세히 살펴보겠습니다.
1. clear() 메서드 사용하기
clear() 메서드는 Python 표준 라이브러리에 포함된 기능으로, 리스트의 모든 요소를 완전히 제거하여 빈 리스트로 만듭니다. 가장 직관적이고 가독성이 좋은 방법으로 권장됩니다.
구문: list_name.clear() list_name은 대상 리스트의 이름입니다.
예제
아래 예제에서는 리스트를 생성한 후 clear() 메서드를 적용합니다. 실행 결과로 빈 리스트가 출력됩니다.
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("기존 리스트\n", list)
# 리스트 비우기
list.clear()
print("리스트를 비운 후\n")
print(list)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
기존 리스트 ['Mon', 'Tue', 'Wed', 'Thu'] 리스트를 비운 후 []
2. del 키워드 사용하기
del 키워드를 사용하면 특정 인덱스의 요소만 선택적으로 삭제할 수도 있고, 모든 요소를 한 번에 삭제하여 리스트를 비울 수도 있습니다.
구문: del list_name
예제
아래 예제에서는 먼저 인덱스 2에 있는 요소 하나를 삭제한 뒤, 이어서 전체 요소를 삭제하는 과정을 보여줍니다.
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("기존 리스트\n", list)
# 리스트에서 요소 하나 삭제
del list[2]
print("요소 삭제 후\n")
print(list)
# 모든 요소 삭제
del list[:]
print("모든 요소 삭제 후\n")
print(list)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
기존 리스트 ['Mon', 'Tue', 'Wed', 'Thu'] 요소 삭제 후 ['Mon', 'Tue', 'Thu'] 모든 요소 삭제 후 []
3. *= 0 연산자 사용하기
이 방법은 곱셈 할당 연산자(*=)를 활용합니다. 리스트에 0을 곱하면 반복 횟수가 0이 되어 모든 요소가 제거되고 빈 리스트가 됩니다. 코드가 매우 짧다는 것이 특징입니다.
예제
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("기존 리스트\n", list)
# 모든 요소 제거
list *= 0
print("모든 요소 삭제 후\n")
print(list)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
기존 리스트 ['Mon', 'Tue', 'Wed', 'Thu'] 모든 요소 삭제 후 []
4. 리스트 재초기화하기
리스트 변수에 빈 리스트([])를 새로 할당하는 방법도 있습니다. 이렇게 하면 해당 변수는 새로운 빈 리스트를 참조하게 됩니다. 단, 이 방법은 원래 리스트 객체 자체를 비우는 것이 아니라 새 객체를 만들어 할당하는 것이므로, 같은 리스트를 참조하고 있던 다른 변수에는 영향을 주지 않는다는 점에 유의해야 합니다.
예제
list = ['Mon', 'Tue', 'Wed', 'Thu']
print("기존 리스트\n", list)
# 모든 요소 제거
list = []
print("모든 요소 삭제 후\n")
print(list)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
기존 리스트 ['Mon', 'Tue', 'Wed', 'Thu'] 모든 요소 삭제 후 []
마무리
Python에서 리스트를 비우는 방법은 clear(), del, *= 0, 재초기화 등 다양합니다. 일반적으로는 명확성이 뛰어난 clear() 메서드를 사용하는 것이 권장되며, 특정 인덱스의 요소까지 함께 관리해야 한다면 del 키워드가 유용합니다. 상황에 맞는 방법을 선택하여 깔끔하고 효율적인 코드를 작성해 보세요.