인프런 커뮤니티 질문&답변
list.extend() 관련하여 궁금한 사항이 있습니다!
작성
·
166
0
문자열 데이터를 list에 추가할 때 append와 extend가 다르게 동작하는 것으로 알고 있는데요.
x = [1, 2, 3]
y = 'item'
x.append(y)
print(x)
→ [1, 2, 3, 'item'] 로 출력
x = [1, 2, 3]
y = 'item'
x.extend(y)
print(x)
→ [1, 2, 3, 'i', 't', 'e', 'm'] 로 출력
만약 extend 로 y를 추가할 때 append 처럼 하나의 원소로 들어가게 하려면
x.extend([y])
x.extend({y})
x.extend((y,))
이와 같이 변경하면 가능하더라고요.
위 두 가지의 차이가 무엇인지 알 수 있을까요?
답변 1
1
좋은사람
지식공유자

좋은 질문입니다.
extend는 list to list 를 서로 결합하는 메소드 입니다.
그렇다면 iterable 한 item은 i,t,e,m 4개로 내부적으로 반환합니다.
그래서 split() 메소드를 통해서 1개의 리스트인 ['item']을 만들어 준다면
결국 [1,2,3] + ['item'] = [1,2,3,'item'] 을 반환하는 거예요
감사합니다.





