본문 바로가기

Python 잡학사전

append와 extend

append VS extend

Python의 list에는 append()extend() method가 있다.

list 끝 단에 요소를 추가해주는 역할은 append나 extend나
별반 다를 것 없는 것 같은데, 두 method의 명확한 차이가 뭘까?

append() method는 list의 끝에 '단일 요소' 를 추가하고,
extend() method는 list의 끝에 iterable의 '모든 요소' 를 추가한다.

예시를 통해 더 쉽게 이해해보자:

# append() 사용
my_list = [1, 2, 3]
my_list.append([4, 5])
print(my_list)

> [1, 2, 3, [4, 5]]

# extend() 사용
my_list = [1, 2, 3]
my_list.extend([4, 5])
print(my_list)

> [1, 2, 3, 4, 5]

위 예시에서 첫 번째 예제는 append를 사용하여 list 자체를 요소로 추가한다.
두 번째 예제는 extend를 사용하여 list의 모든 요소를 개별적으로 추가한다.

어떤 상황에서 어떤 method를 사용하는 것이 좋을까?
append(): 단일 요소(int, string, list 등)를 list에 추가하고 싶을 때 사용한다.
이 method는 list 자체를 요소로 추가하므로,
추가된 요소가 기존 list와 독립적으로 다루어질 필요가 있을 때 유용하다.

extend(): iterable(list, tuple 등)의 모든 요소를 기존 list에 추가하고 싶을 때 사용한다.
이 method는 추가된 요소들이 기존 list의 일부로 다루어지므로,
전체 요소들이 하나의 list로 결합될 필요가 있을 때 유용하다.

요약

메모리 관리 측면에서 현재 task를 처리하기에 더 효율적인 method를 골라쓰면 된다.
단일 요소를 추가할 때: append() 메서드를 사용하여 단일 요소를 추가하는 것이 더 효율적.
여러 요소를 한 번에 추가할 때: extend() 메서드를 사용하여 처리량을 줄이고 성능을 최적화.

'Python 잡학사전' 카테고리의 다른 글

Regular Expressions  (0) 2024.07.22