[Python] 파이썬 리스트(list) 원소 추가 / 삭제 (append, remove) 방법

파이썬에서 사용하는 리스트는 가변적인 특성이 있어서 수시로 값을 추가하거나 삭제할 수 있습니다. 이렇게 새로운 값이 추가되면 리스트의 크기가 자동으로 증가하고, 리스트의 값을 삭제하면 크기가 감소합니다. 다만 리스트의 크기가 커질수록 원소를 추가하거나 삭제하는 방법은 성능이 느려질 수 있습니다. 참고로 이럴 때는 collections.deque나 numpy와 같은 라이브러리를 사용하면 더 빠른 성능을 얻을 수 있습니다. 

 

※ 파이썬 리스트를 생성하는 방법에 대해 궁금하시다면 아래 글을 참고해 주세요.

[Python] 파이썬 리스트(list) 만들기, 접근하기(+ 슬라이싱)

 

[Python] 파이썬 리스트(list) 만들기, 접근하기(+ 슬라이싱)

파이썬에서 리스트는 여러 개의 값을 순서대로 저장하는 데이터 구조입니다. 파이썬에서는 타 프로그래밍 언어에서 사용하는 배열과 같은 개념이 없고 대신 이 리스트라고 개념이 있습니다. 파

coding-factory.tistory.com

 

 

 파이썬 리스트 원소 추가하는 방법 

append 메서드 사용

ex_list = [1, 2, 3]
ex_list.append(4)  # 리스트의 끝에 원소 추가
print(ex_list)  # [1, 2, 3, 4]

append(value) 함수를 사용하면 리스트의 끝에 매개변수 value의 값을 가지는 원소를 하나 추가할 수 있습니다. 

 

 

insert 메서드 사용

ex_list = [1, 2, 3]
ex_list.insert(1, 10)  # 인덱스 1에 원소 10 추가
print(ex_list)  # [1, 10, 2, 3]

리스트의 마지막에 값을 추가하는 것이 아니라 특정 index에 값을 추가하고 싶을 경우도 있을 것입니다. 이럴 때는 insert 메서드를 사용하면 됩니다. insert(index, value) 방식으로 사용하며 매개변수 index에 value값을 추가합니다.

 

 

리스트를 서로 합치기(extend 메서드 or += 연산자 활용)

ex_list = [1, 2, 3]
ex_list.extend([4, 5])  # 리스트에 다른 리스트의 원소를 추가
# 또는
ex_list += [6, 7]
print(ex_list)  # [1, 2, 3, 4, 5, 6, 7]

두 개의 리스트를 서로 합칠 수도 있습니다. extend 메서드를 사용하거나 += 연산자를 사용하면 두 개의 배열이 서로 합쳐집니다.

 

 

 파이썬 리스트 원소 삭제하는 방법 

remove 메서드 사용

ex_list = ["apple", "banana", "cherry", "melon"]
ex_list.remove("banana")  # 값이 banana인 원소 제거
print(ex_list)  # ['apple', 'cherry', 'melon']

리스트에서 특정 값을 제거하고 싶다면 remove(value) 함수를 사용합니다. 리스트에서 매개변수 value와 같은 첫 번째 항목을 제거합니다. 참고로 첫 번째 항목만 제거한다는 점은 유의하셔야 합니다.

 

 

pop 메서드 사용

ex_list = [1, 2, 3]
popped_value = ex_list.pop(1)  # 인덱스 1의 원소를 제거하고 반환
print(popped_value)  # 2
print(ex_list)  # [1, 3]

리스트에서 특정 index의 값을 제거하고 싶을 수도 있을 것입니다. 이럴 때는 pop(index) 함수를 사용하시면 특정 index의 값을 제거할 수 있습니다. pop 함수는 값을 반환하는 특징이 있기 때문에 위와 같이 리스트에서 특정 값을 빼서 사용할 수도 있습니다.

 

 

del 키워드 사용

ex_list = [1, 2, 3]
del ex_list[1]  # 인덱스 1의 원소 제거
print(ex_list)  # [1, 3]

특정 함수를 사용하지 않고 del 키워드를 사용하셔도 리스트에서 값을 제거할 수 있습니다.

 

 

clear 메서드 사용

ex_list = [1, 2, 3]
ex_list.clear()  # 모든 원소 제거
print(ex_list)  # []

clear() 메서드를 사용하면 리스트의 모든 값을 제거합니다.

 

 

조건에 따라 원소 삭제하기

ex_list = [1, 2, 3, 4, 5]
ex_list = [x for x in ex_list if x != 3]  # 값이 3인 원소 제거
print(ex_list)  # [1, 2, 4, 5]

거의 사용하지는 않겠지만 위와 같이 리스트의 전체 index를 for문을 돌면서 특정 원소를 삭제하는 방법도 있겠습니다. 

 

 

댓글

Designed by JB FACTORY