강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Aiden Kim님의 프로필 이미지
Aiden Kim

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

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'] 을 반환하는 거예요

감사합니다.

Aiden Kim님의 프로필 이미지
Aiden Kim

작성한 질문수

질문하기