[Python] 파이썬 리스트(list) 값 삭제하는 방법 총정리: remove(), del(), clear(), pop()
파이썬에서 리스트(list) 자료형의 값을 삭제하는 방법에 대해 알아봅니다. 총 4개의 함수를 사용하여 삭제가 가능합니다. 다. 단순 반복 삭제를 하지않는 다면 remove()함수를 사용하면 편리하며, 값의 범위를 지정하여 삭제해야한다면 del()함수의 사용을 추천합니다.
remove() 함수
삭제하고자 하는 값 중에 첫번째로 찾은 값 하나만 삭제합니다.
list = ["Hello", "Python", "Nice", "Have", "a", "Hello"]
print(list)
print('-'*30)
list.remove("Hello")
print(list)
print('-'*30)
list.remove("Hello")
print(list)
#실행결과
['Hello', 'Python', 'Nice', 'Have', 'a', 'Hello']
------------------------------
['Python', 'Nice', 'Have', 'a', 'Hello']
------------------------------
['Python', 'Nice', 'Have', 'a']
Process finished with exit code 0
clear()함수
리스트의 모든 값을 삭제합니다.
list = list(range(15))
print(list)
print('-'*30)
list.clear()
print(list)
#실행결과
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
------------------------------
[]
Process finished with exit code 0
del()함수
인덱스값을 지정하여 삭제합니다. 인덱스 값은 0부터 시작됩니다. 마지막 값을 삭제하고 싶은 경우 -1값을 설정합니다.
-2값을 설정하면 마지막 값에서 두 번째의 값이 삭제됩니다.
list = ["Hello", "Python", "Nice", "Have", "a", "Hello", "Who are you"]
print(list)
print('-'*30)
del list[0]
print(list)
print('-'*30)
del list[-1]
print(list)
print('-'*30)
del list[2]
print(list)
del list[-2]
print('-'*30)
print(list)
#실행결과
['Hello', 'Python', 'Nice', 'Have', 'a', 'Hello', 'Who are you']
------------------------------
['Python', 'Nice', 'Have', 'a', 'Hello', 'Who are you']
------------------------------
['Python', 'Nice', 'Have', 'a', 'Hello']
------------------------------
['Python', 'Nice', 'a', 'Hello']
------------------------------
['Python', 'Nice', 'Hello']
Process finished with exit code 0
한번에 여러개의 값을 삭제하고 싶은 경우 범위를 지정하여 삭제합니다.
0:2는 index값이 0부터 2까지의 값을 삭제합니다.
:6 은 index값이 0부터 6까지의 값을 삭제합니다.
4: 은 index값이 4부터 마지막 값까지 삭제합니다.
-2: 은 index값이 뒤에서부터 시작됩니다. 뒤에서 두번째부터 시작되는 모든 값을 삭제합니다.
import random
list = ["Hello", "Python", "Nice", "Have", "a", "Hello", "Who are you"]
print(list)
print('-'*30)
del list[0:2]
print(list)
print('-'*30)
list = ["Hello", "Python", "Nice", "Have", "a", "Hello", "Who are you"]
del list[:6]
print(list)
print('-'*30)
list = ["Hello", "Python", "Nice", "Have", "a", "Hello", "Who are you"]
del list[4:]
print(list)
list = ["Hello", "Python", "Nice", "Have", "a", "Hello", "Who are you"]
del list[-2:]
print('-'*30)
print(list)
#실행결과
['Hello', 'Python', 'Nice', 'Have', 'a', 'Hello', 'Who are you']
------------------------------
['Nice', 'Have', 'a', 'Hello', 'Who are you']
------------------------------
['Who are you']
------------------------------
['Hello', 'Python', 'Nice', 'Have']
------------------------------
['Hello', 'Python', 'Nice', 'Have', 'a']
pop()함수
del()함수와 유사합니다. 인덱스값을 생략하는 경우 마지막 값을 삭제합니다. 인덱스가 존재하지않는 값을 지정하게 되면IndexError pop index out of range오류가 발생합니다.
list = ["Hello", "Python", "Nice", "Have", "a", "Hello", "Who are you"]
print(list)
print('-'*30)
print(f'삭제대상이 되는 값 : ', {list.pop()})
print(f'삭제 후 결과: {list}')
print('-'*30)
print(f'삭제대상이 되는 값 : ', {list.pop(3)})
print(f'삭제 후 결과: {list}')
print('-'*30)
print(f'삭제대상이 되는 값 : {list.pop(-1)}')
print(f'삭제 후 결과: {list}')
list.pop(33)
#실행결과
C:UsersilikeAppDataLocalProgramsPythonPython39python.exe C:/python/Workspace/main.py
Traceback (most recent call last):
File "C:pythonWorkspacemain.py", line 13, in <module>
list.pop(33)
IndexError: pop index out of range
['Hello', 'Python', 'Nice', 'Have', 'a', 'Hello', 'Who are you']
------------------------------
삭제대상이 되는 값 : {'Who are you'}
삭제 후 결과: ['Hello', 'Python', 'Nice', 'Have', 'a', 'Hello']
------------------------------
삭제대상이 되는 값 : {'Have'}
삭제 후 결과: ['Hello', 'Python', 'Nice', 'a', 'Hello']
------------------------------
삭제대상이 되는 값 : Hello
삭제 후 결과: ['Hello', 'Python', 'Nice', 'a']
Process finished with exit code 1
[REFERENCE]
docs.python.org/3/tutorial/datastructures.html
blog.myungseokang.dev/posts/python-basic-grammar1/
[파이썬 더 알아보기]
[Python] 파이썬 list, tuple, dictionary,set 예제 및 총정리
[프로그래밍/Python] – [Python] 파이썬 소수점 반올림, 돈 표기 방법 : 천단위 콤마(쉼표) 찍기( 천단위 구분 기호 추가), 숫자 콤마 제거
[프로그래밍/Python] – [Python] 파이썬 self를 인자로 받는 함수(Method)와 그렇지 않은 함수(메소드)의 차이점
[프로그래밍/Python] – [Python] 파이썬 __name__ == ‘__main__’의 사용 목적
[프로그래밍/Python] – [Python] 파이썬 패키지(Package), 모듈(Module) 개념 및 예제 : 패키지, 모듈을 만들고 불러오기(import)
[프로그래밍/Python] – [Python] 파이썬 클래스(class) 와 생성자(__init__) 사용방법 및 예제 총정리