본문 바로가기

Languages/Python

[Python] append()와 extend()의 차이점

개요

Python으로 PS를 막 풀기 시작했을 때, list에 특정 값을 추가하기 위해 항상 append()를 사용했었다.
그러던 중, 다른 사람의 풀이를 참고하며 extend()를 알게 되었다.
당시 풀이는 1차원 list에 int 값을 추가하는 것이어서 특별한 차이를 발견하기 어려웠다.
추가적인 구글링을 통해 정확한 차이를 짚고 넘어갔지만, 되돌아볼 겸 글을 작성한다.

append()

append()는 object(ex. int, float, char, list, tuple, dictionary)를 맨 뒤에 추가한다.

>>> test = [1, 1, 2]
>>> test.append([1, 3, 4])
>>> print(test)
[1, 1, 2, [1, 3, 4]]                   # list가 test의 원소로 그대로 append 된다.

# dictionary의 경우
>>> test = [1, 1, 2]
>>> test.append({"가": 6, "나": 3})
>>> print(test)
[1, 1, 2, {'가': 6, '나': 3}]          # dictionary가 test의 원소로 그대로 append 된다.

extend()

extend()는 iterable object(ex. list, tuple, dictionary)의 원소들을 list에 append 시킨다.

>>> test = [1, 1, 2]
>>> test.extend([1, 3, 4])
>>> print(test)
[1, 1, 2, 1, 3, 4]                     # list의 원소들이 test의 원소로 append 된다.

# dictionary의 경우
>>> test = [1, 1, 2]
>>> test.extend({"가": 6, "나": 3})
>>> print(test)
[1, 1, 2, '가', '나']                  # dictionary의 key 값이 test의 원소로 append 된다.

참조

파이썬에 append와 extend의 차이점

'Languages > Python' 카테고리의 다른 글

[Python] 양의 무한대(inf), 음의 무한대(-inf) 표시  (0) 2020.07.15