반응형
list.append(x)
리스트의 끝에 항목을 더합니다. a[len(a):] = [x] 와 동등합니다.
list.extend(iterable)
리스트의 끝에 이터러블의 모든 항목을 덧붙여서 확장합니다. a[len(a):] = iterable 와 동등합니다.
직접 해보기
int로 이루어진 list
my_list_1 = [1, 2, 3]
my_list_2 = [4, 5, 6]
my_list_1.append(my_list_2)
print(my_list_1)
[1, 2, 3, [4, 5, 6]]
-> my_list_2 의 항목이 한번에 들어가서 2중 리스트의 형태를 만든다
my_list_1.append(4)
print(my_list_1)
[1, 2, 3, 4]
-> 4가 리스트로 감싸지지 않아 바로 리스트에 들어간다
my_list_1.extend(my_list_2)
print(my_list_1)
[1, 2, 3, 4, 5, 6]
-> my_list_2의 항목이 순서대로 돌며 my_list_1의 뒤에 추가된다
my_list_1.extend(4)
print(my_list_1)
my_list_1.extend(4)
TypeError: 'int' object is not iterable
-> 4는 iterable한 인자가 아니라 TypeError를 일으킨다
str으로 이루어진 list
my_list_3 = ['apple', 'banana']
my_list_4 = ['coffe', 'milk']
my_list_3.append(my_list_4)
print(my_list_3)
['apple', 'banana', ['coffe', 'milk']]
-> my_list_4의 항목이 리스트 통채로 들어간다
my_list_3.append('grape')
print(my_list_3)
['apple', 'banana', 'grape']
-> grape 항목이 그대로 추가된다
my_list_3.extend(my_list_4)
print(my_list_3)
['apple', 'banana', 'coffe', 'milk']
-> 리스트의 항목이 개별적으로 추가된다
my_list_3.extend('grape')
print(my_list_3)
['apple', 'banana', 'g', 'r', 'a', 'p', 'e']
-> 문자열 'grape'를 돌며 요소 하나하나씩 list에 추가된다
개인적인 생각으론 .append()는 입력된 값을 통채로 집어넣는다
.extend()는 입력된 값을 순회하며 값을 하나씩 분리해서 집어넣는다고 느끼면 될 것 같다
반응형
'study > python' 카테고리의 다른 글
python 재귀 제한 해제 (0) | 2022.09.15 |
---|---|
[python] 2차원 배열 입력받기 (0) | 2021.08.16 |
python) list에서 사용할 수 있는 메서드 정리 (0) | 2021.08.01 |
python) 369 게임 만들어보기 (0) | 2021.07.29 |
python) 재귀함수 연습해보기_팩토리얼 계산 만들기 (0) | 2021.07.26 |