본문 바로가기
코딩취미/Python

파이썬 리스트 객체, 원소 추가하기 : append와 extend 의 기능과 차이점

by 브링블링 2024. 9. 4.
반응형

파이썬 리스트 객체, 원소 추가하기 : append와 extend 의 기능과 차이점

append와 extend는 둘 다 파이썬의 리스트에 항목을 추가하는 방법이지만, 그 작동 방식에는 중요한 차이점이 있습니다.

 

결론적으로, append()는 리스트에 항목을 하나의 단위로 추가하고, extend()는 리스트에 다른 iterable의 요소를 개별적으로 추가합니다.

1. append()

  • 기능: 리스트의 끝에 단일 객체를 추가합니다.
  • 용도: 하나의 요소(숫자, 문자열, 리스트 등)를 리스트에 추가할 때 사용합니다.
  • 특징: 추가된 객체는 리스트에 그 자체로 하나의 항목으로 들어갑니다.
lst = [1, 2, 3]
lst.append([4, 5])
print(lst)

 

결과를 보면 여기서 append는 리스트 [4, 5]를 하나의 객체로서 리스트에 추가했기 때문에, 리스트 내부에 또 하나의 리스트가 생긴 것입니다.

[1, 2, 3, [4, 5]]

2. extend()

  • 기능: 리스트의 끝에 다른 iterable(반복 가능한 객체: 리스트, 튜플, 문자열 등)의 모든 요소를 추가합니다.
  • 용도: 리스트에 여러 요소를 한꺼번에 추가할 때 사용합니다.
  • 특징: iterable 객체의 각 항목을 개별적으로 리스트에 추가합니다.
lst = [1, 2, 3]
lst.extend([4, 5])
print(lst)

 

여기서 코드 실행결과를 보면 extend는 [4, 5] 리스트의 각 요소인 4, 5를 각각 리스트의 항목으로 추가한 것입니다.

[1, 2, 3, 4, 5]
반응형

차이점 요약:

  • **append()**는 리스트에 단일 객체를 추가하며, 이 객체는 리스트일 수도 있고, 튜플일 수도 있습니다. 객체 자체가 리스트의 마지막 항목으로 들어갑니다.
  • **extend()**는 리스트에 다른 iterable 객체의 각 요소를 추가합니다. iterable 객체의 각 요소가 리스트의 끝에 추가됩니다.
lst = [1, 2, 3]

# append 사용
lst.append([4, 5])
print(lst)  # [1, 2, 3, [4, 5]]

# extend 사용
lst = [1, 2, 3]
lst.extend([4, 5])
print(lst)  # [1, 2, 3, 4, 5]
반응형