append() vs extend() 차이 (Python 리스트 메서드)둘 다 리스트(list)에 요소를 추가하는 메서드이지만, 동작 방식이 다릅니다.
append()✅ 특징:
✅ 사용 예시:
lst = [1, 2, 3]
lst.append([4, 5]) # 리스트 자체를 추가
print(lst) # 출력: [1, 2, 3, [4, 5]]
✔ [4, 5] 자체가 하나의 요소로 추가됨
✅ 리스트가 아니라 개별 원소를 추가하면?
lst.append(6)
print(lst) # 출력: [1, 2, 3, [4, 5], 6]
✔ 숫자 6은 하나의 원소이므로 그냥 추가됨
extend()✅ 특징:
✅ 사용 예시:
lst = [1, 2, 3]
lst.extend([4, 5]) # 리스트 요소를 개별적으로 추가
print(lst) # 출력: [1, 2, 3, 4, 5]
✔ [4, 5]가 개별 원소로 추가됨
✅ 숫자를 추가하려고 하면?
lst.extend(6) # TypeError 발생! (반복 가능한 객체만 가능)
✔ extend()는 반복 가능한(iterable) 객체만 받을 수 있음 (정수는 안됨)
append() vs extend() 비교| 비교 항목 | append() | extend() |
|---|---|---|
| 추가 방식 | 하나의 요소로 추가 | 개별 요소로 추가 |
| 리스트를 추가할 때 | 리스트 자체가 들어감 ([[4,5]]) | 리스트가 풀려서 들어감 ([4,5]) |
| 기존 리스트의 길이 변화 | +1 | +추가 리스트 길이 |
| 데이터 타입 제한 | 제한 없음 (어떤 타입이든 추가 가능) | iterable(반복 가능한 객체)만 가능 |
✅ 정리:
append() extend() lst = [1, 2, 3]
lst.append([4, 5])
print(lst) # [1, 2, 3, [4, 5]]
lst.extend([6, 7])
print(lst) # [1, 2, 3, [4, 5], 6, 7]
✔ append()는 리스트 자체를 추가, extend()는 리스트 내부 원소만 추가
append(), 언제 extend()?✅ append()를 사용할 때
✅ extend()를 사용할 때
🚀 요약:
✔ append() = 하나의 요소 추가
✔ extend() = 여러 개의 요소 추가 (리스트를 펼쳐서 추가)