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 |
---|