본문 바로가기
programming/Python

파이썬 리스트 값 삭제하기 remove pop clear del

by 개코 - 개발과 코딩 2021. 8. 14.

파이썬 리스트에서 값을 삭제할 수 있다. 필요없다고 생각되는 값은 삭제할 수 있고 리스트 자체를 초기화하거나 변수까지 완전삭제할 수 있다. 삭제를 위한 함수는 4가지 정도가 있다. 필요에 따라 사용하면 된다. clear() 함수와 del()함수의 차이를 안다면 메모리관리에도 도움이 될 것이란 생각이 든다.

파이썬 리스트 값 삭제하기
파이썬 리스트 값 삭제하기

 

리스트 값 제거함수

리스트의 값을 조작하는데 삭제 또한 중요하다.

필요가 없는 값이 있다면 삭제하는 것이 좋다.

리스트를 추가, 수정, 삭제를 한다는 것은 배열과 같은 컬렉션의 값을 조작하고 데이터를 정제하는데 도움이 된다.

함수 종류부터 살펴보자.

  • List.remove( 삭제할 문자열 )
    삭제할 문자열을 삭제한다.
    동일한 문자열이 있을 경우 첫번째에 위치한 문자열 하나만 삭제한다.
  • List.pop( [인덱스] )
    인덱스를 지정하면 지정한 인덱스의 문자열을 삭제한다.
    인덱스를 지정하지 않으면 리스트의 마지막 자료만 삭제한다.
  • List.clear()
    리스트의 내용만을 전부 삭제한다.
  • del List
    리스트 자체를 삭제한다.
    리스트 변수 자체까지 제거된다는 뜻이다.

 

샘플 리스트 준비

샘플로 사용할 리스트를 준비하자.

리스트의 내용은 적당히 많이 있는 것이 좋다.

vList = ["JYP", "트와이스", "twice", "나연", "정연", "모모", "사나", "지효", "미나", "다현", "채영", "쯔위"]

print("목록 : ", type(vList), len(vList), vList)

트와이스 멤버들을 리스트로 사용해 보자.

데이터타입은 List 길이는 12개 라는 것을 알 수 있다.

데이터를 삭제 함수를 사요하여 하나씩 삭제해 보도록 한다.

remove() 함수 사용하기

List.remove() 함수를 사용하여 문자열을 삭제할 수 있다.

remove() 함수에는 삭제할 문자열을 지정한다.

영문자 twice 문자를 지정하면 지정한 문자열을 삭제한다.

vRemove = "twice"
vList.remove(vRemove)

변수로 지정한 문자열이 삭제된 것을 볼 수 있다.

List.remove( 삭제할 문자열 ) 을 이용하면 지정한 문자열을 삭제할 수 있다.

만약, 중복된 같은 단어가 있을 때 remove() 함수를 사용하면 중복된 값 중 가장 첫번째에 있는 값 하나만 삭제된다.

vRemove = "JYP"
vList.remove(vRemove)

print("목록 : ", type(vList), len(vList), vList)

중복된 문자열 중 JYP 란 문자열이 있다.

이것을 삭제할 문자열로 지정하면 가장 첫번째에 있는 문자열이 삭제되는 것을 확인할 수 있다.

 

pop() 함수 사용하기

pop() 함수를 사용하여 값을 삭제한다.

pop( [인덱스] ) 의 형태로 사용할 수 있고, 인덱스 번호를 지정할 수도 생략해도 된다.

인덱스번호를 삭제할 경우 리스트의 가장 마지막 값이 삭제되며,
인덱스번호를 지정할 경우 인덱스가 지정한 위치의 값이 삭제된다.

vList.pop()

print("목록 : ", type(vList), len(vList), vList)

print('----------------------------------------------------------------------------------------------------')

vList.pop(2)

print("목록 : ", type(vList), len(vList), vList)

pop() 함수에 인덱스를 지정하지 않았을 경우 가장 마지막에 있던 JYP 문자열이 삭제된 것을 알 수 있다.

pop(2) 함수에 인덱스를 지정한 경우 지정한 인덱스의 값이 삭제된 것을 알 수 있다.

리스트의 인덱스는 0부터 시작한다. 그렇기에 정연 이란 문자열이 삭제된 것을 확인할 수 있다.

 

clear() 함수 사용하기

clear() 함수를 사용하면 리스트의 내용을 모두 삭제한다.

초기화와 같은 기능을 한다.

변수는 남아있다는 점에서 del 키워드와 차이가 있다.

vList.clear()

print("목록 : ", type(vList), len(vList), vList)

변수는 남아있지만 변수에 있던 값들 모두 삭제된 것을 알 수 있다.

리스트를 초기화할 때 사용하면 좋을 것이다.

 

del 키워드 사용하기

del 키워드를 사용하면 위에서 언급된 함수들과는 다르게 완전 삭제를 진행한다.

리스트에 인덱스를 사용하여 특정 값을 삭제할 수도 있고 변수 자체를 삭제할 수도 있다.

del vList[2]

print("목록 : ", type(vList), len(vList), vList)

del 키워드를 사용하여 리스트의 특정 인덱스를 지정했을 경우 지정된 인덱스에 위치한 값이 삭제된 것을 확인할 수 있다.

단 del 키워드만 사용했을 경우 리스트 사용에 주의할 필요가 있다.

변수 자체까지 삭제해 버리기 때문에 del 키워드 사용 후 List 에 접근한다면 에러가 발생할 수 있다.

del vList

print("목록 : ", type(vList), len(vList), vList)

아래를 보면 출력문에서 에러가 발생한 것을 알 수 있다.

List 가 정의되지 않았다는 메세지를 출력하는 것을 볼 수 있듯이 변수 자체가 삭제된 것을 확인할 수 있다.

반응형

댓글