[Python] list append()
, extend()
, insert()
차이점
파이썬에서 리스트에 새로운 원소를 추가하는 방법에는 총 세 가지가 있다.
각각의 차이점에 대해 알아보자.
append()
list.append(x)
는 리스트 끝에 x 1개를 “그대로” 넣는다.
y가 리스트형 일 경우
x = ['apple', 'banana']
y = ['kiwi', 'cherry']
x.append(y)
print(x)
# ['apple', 'banana', ['kiwi', 'cherry']]
y가 2중 리스트형 일 경우
x = ['apple', 'banana']
y = [['kiwi', 'cherry'], ['grape', 'watermelon']]
x.append(y)
print(x)
# ['apple', 'banana', [['kiwi', 'cherry'], ['grape', 'watermelon']]]
y가 문자열 일 경우
x = ['apple', 'banana']
y = 'kiwi'
x.append(y)
print(x)
# ['apple', 'banana', 'kiwi']
extend(iterable)
list.extend(iterable)
는 리스트 끝에 “가장 바깥쪽 iterable의 모든 항목”을 넣는다.- 가장 바깥쪽 껍질을 까고 알맹이만 넣는다고 생각하면 이해가 쉬울지도..?
y가 리스트형 일 경우
x = ['apple', 'banana']
y = ['kiwi', 'cherry']
x.extend(y)
print(x)
# ['apple', 'banana', 'kiwi', 'cherry']
y가 2중 리스트형 일 경우
x = ['apple', 'banana']
y = [['kiwi', 'cherry'], ['grape', 'watermelon']]
x.extend(y)
print(x)
# ['apple', 'banana', ['kiwi', 'cherry'], ['grape', 'watermelon']]
y가 문자열 일 경우
x = ['apple', 'banana']
y = 'kiwi'
x.extend(y)
print(x)
# ['apple', 'banana', 'k', 'i', 'w', 'i']
insert(i,x)
- i 위치에 x를 추가한다.
x = ['apple', 'banana']
y = 'kiwi'
x.insert(1, y) # y가 1번 인덱스에 위치하도록 추가한다.
print(x)
# ['apple', 'kiwi', 'banana']
ref.
💛 개인 공부 기록용 블로그입니다. 👻