Python에서 목록 지우기

Rayven Esplanada 2023년1월30일
  1. clear()를 사용하여 Python에서 목록 지우기
  2. Python에서 목록을 지우려면 빈 목록 값 설정
  3. del및 슬라이스 연산자:를 사용하여 Python에서 목록 지우기
  4. 전체 목록에0을 곱하여 Python에서 목록 지우기
Python에서 목록 지우기

이 튜토리얼은 Python에서 목록을 지우는 다양한 방법을 보여줍니다.

clear()를 사용하여 Python에서 목록 지우기

Python에서 목록을 지우는 가장 쉽고 분명한 방법은 Python 목록에 미리 정의 된 메서드 인clear()메서드를 사용하는 것입니다.

예를 들어, 정수 값으로 목록을 초기화하고clear()함수를 사용하여 모든 값을 지 웁니다.

lst = [1, 6, 11, 16]
print(lst)
lst.clear()
print(lst)

출력:

[1, 6, 11, 16]
[]
노트
이것은 Python에서 목록을 지우는 빠르고 쉬운 솔루션이지만 Python 버전 3.3 이상에서만 호환됩니다.

Python에서 목록을 지우려면 빈 목록 값 설정

기존 목록 변수를 지우는 또 다른 방법은 빈 대괄호[]쌍을 사용하여 변수에 빈 목록을 설정하는 것입니다.

lst = [1, 6, 11, 16]
print(lst)

lst = []
print(lst)

출력:

[1, 6, 11, 16]
[]

이것은 또한 목록을 지우는 빠른 작업을 수행하지만 메모리에서 목록 값을 제거하지는 않습니다. 대신 목록의 새 인스턴스를 만들고 새로 만든 인스턴스를 가리 킵니다.

다른 변수가 목록 변수의 이전 값을 가리키고 있지 않으면 해당 변수에 도달 할 수 없으며 가비지 수집이 가능합니다.

이 상황은 두 개의 변수가 동일한 목록을 가리 키도록하고 그 변수 중 하나를 나중에 빈 목록으로 설정하면 분명해질 수 있습니다.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst = []
print(lst)
print(lst2)

출력:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[1, 6, 11, 16]

두 번째 목록lst2lst값으로 설정되었지만 새lst값을 빈 목록으로 설정 한 후에도lst2목록은 이전의 이전 값을 유지합니다. 이 경우 이전 값은 여전히 가리키는 변수가 있으므로 가비지 수집에 적합하지 않습니다.

del및 슬라이스 연산자:를 사용하여 Python에서 목록 지우기

Python 키워드del은 메모리에서 객체와 참조를 완전히 삭제하는 데 사용됩니다. del키워드는 Python 객체, 이터 러블, 목록의 일부 등을 삭제하는 데 사용됩니다.

Python의 콜론 연산자:는 배열을 두 개의 정수 인수를받는 부분으로 분할하는 데 사용되는 연산자입니다.

:연산자는 삭제할 목록의 실제 참조를 가져 오는 데 사용됩니다.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

del lst[:]
print(lst)
print(lst2)

del키워드를 사용하지 않고 이와 동일한 작업을 수행하는 또 다른 솔루션은 목록을 빈 목록으로 설정하지만:연산자를 사용하여 이전 참조를 빈 목록으로 바꾸는 것입니다.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst[:] = []
print(lst)
print(lst2)

두 솔루션의 출력은 다음과 같습니다.

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

이전 예제에서 기존 목록 변수를 빈 목록으로 설정해도 실제로 이전 값이 삭제되지는 않습니다. 이 솔루션은 다른 변수가 기본 목록 내의 동일한 값 참조를 가리 키더라도 이전 값을 완전히 삭제합니다.

전체 목록에0을 곱하여 Python에서 목록 지우기

목록을 지우는 가장 빠른 방법은 전체 목록에0을 곱하는 것입니다. 목록 변수 자체에0을 곱하면 목록이 지워지고 메모리에서 이전 참조가 지워집니다.

lst = [1, 6, 11, 16]
lst2 = lst
print(lst)
print(lst2)

lst *= 0
print(lst)
print(lst2)

출력:

[1, 6, 11, 16]
[1, 6, 11, 16]
[]
[]

이 방법은 언급 된 모든 솔루션 중에서 가장 빠르게 수행되는 솔루션입니다.

요약하면, 목록을 지우는 가장 확실한 방법은 목록에 내장 된clear()함수를 사용하는 것입니다.하지만 가장 빠른 솔루션은 목록 변수에0값을 곱하는 것입니다.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

관련 문장 - Python List