반응형
append
파이썬 문법을 사용하다보면 정말 많이 쓰는 함수 중 하나가 append이다. 너무 당연하게 사용하던 탓에, append가 문제의 출력 조건을 지키지 않으면 당황할 때가 종종 있다. 그럴 때는 for로 풀어주거나, join으로 풀어주고는 하는데 이제는 그럴 필요가 없다! 그럴 경우에 extend를 생각한다면, 더 많은 조건을 부합할 것이다.
우선 append는 다음과 같다.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.append(list2)
print(list1)
# 출력: [1, 2, 3, [4, 5, 6]]
기존의 list에 다른 list 하나를 더 추가한다면, 갑자기 list안에 list를 품어버린다. 진짜 말 그대로 append는 요소를 그대로 추가한다. append는 리스트에 새로운 요소를 추가할 때 사용되지만, 인자로 전달된 값 자체를 리스트의 마지막 요소로 추가한다.
extend
우선 extend는 list에만 있는 함수고, iterable 객체의 요소들을 추가할 때 사용한다. append와 매우 다른 점은, extend는 list의 각 요소가 개별적인 요소로 다른 list에 추가된다는 점이다. 다음과 같다.
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)
# 출력: [1, 2, 3, 4, 5, 6]
리스트를 extend 했지만, 정작 list1에 추가된 것은 list2을 구성하고 있는 각각의 요소 하나하나가 들어온 것이다. 그래서 결과를 출력할 때는 이런 모습을 요구하는 문제들이 많은데, 그럴 때 사용하기 좋다.
반응형
'코딩테스트 대비 > Python 문법' 카테고리의 다른 글
| [Python] 조건문의 list? True or False (0) | 2023.10.05 |
|---|---|
| [Python] Counter (0) | 2023.09.26 |
| [Python] zip, enumerate (0) | 2023.07.24 |
| [Python] defaultdict 사용법 (0) | 2023.07.08 |
| [Python] enumerate 사용법 (0) | 2023.07.08 |