새소식

반응형
Programming Language/Python

[Python] list에 값을 추가하는 메서드인 append와 extend의 차이

  • -
반응형

파이썬 로고 이미지입니다.
Python

list에 값을 추가하는 메서드인 append와 extend의 차이

오늘은 파이썬에서 list에 사용하는 append와 extend 메서드의 차이점에 대해서 알아보는 시간을 가져보자. 둘 다 리스트에 요소를 추가하는 데 사용되지만 다르게 동작한다는 차이점이 있다.

 

1. append()


1.1 append() 메서드의 기본 사용법


append 메서드는 리스트의 끝에 주어진 요소 하나를 추가한다. 이때 추가되는 요소는 리스트의 하나의 원소로서 추가된다.

x = [1, 2, 3]
y = [4]
x.append(y)
print(x)  # 출력: [1, 2, 3, 4]

 

1.2 append() 메서드의 2중 리스트 추가


만약 append() 메서드를 사용하여 2중 리스트를 추가하게 되면 어떻게 될까?

x = [1,2,3]
y = [[4,5,6]]
x.append(y)
print(x) # 출력 : [1, 2, 3, [[4, 5, 6]]]

위의 결과에서 확인할 수 있듯이 append는 x 그 자체를 원소 그 자체를 추가하게 된다.

 

1.3 append() 메서드의 문자열 추가


x = ["hungry","developer","is"]
y = "cute"
x.append(y)
print(x) # 출력 : ['hungry', 'developer', 'is', 'cute']

append() 메서드는 마찬가지로 원소 그 자체를 추가하기 때문에 "cute" 문자열이 통째로 추가된 것을 확인할 수 있다.

 

 

2. extend()


2.1 extend() 메서드의 기본 사용법


extend 메서드는 리스트의 끝에 다른 리스트나 이터러블(iterable) 객체의 모든 요소를 각각 추가한다. 즉, 다른 리스트의 모든 원소를 현재 리스트에 확장하여 추가한다.

x = [1, 2, 3]
y = [4, 5, 6]
x.extend(y)
print(x)  # 출력: [1, 2, 3, 4, 5, 6]

 

2.2 extend() 메서드의 2중 리스트 추가


만약 extend() 메서드를 사용하여 2중 리스트를 추가하게 되면 어떻게 될까?

x = [1,2,3]
y = [[4,5,6]]
x.extend(y)
print(x) # 출력 : [1, 2, 3, [4, 5, 6]]

extend() 메서드는 가장 바깥쪽 iterable을 넣기 때문에 위의 결과에서 확인할 수 있듯이 2중 리스트가 그냥 리스트로 추가된 것을 볼 수 있다.

 

2.3 extend() 메서드의 문자열 추가


x = ["hungry","developer","is"]
y = "cute"
x.extend(y)
print(x) # 출력 : ['hungry', 'developer','is', 'c', 'u', 't', 'e']

위의 예시 코드에서 x는 리스트이고 y는 문자열이다. 문자열은 반복 가능한(iterable) 객체가 아니라 문자열을 리스트에 확장하는 것은 각 문자마다 리스트의 항목으로 분할된다. 즉, 문자열 y는 개별 문자로 분할되어 리스트 x에 추가된다

 

3. 마무리


3.1 append() 메서드


• append 메서드는 리스트에 하나의 요소를 추가한다.

• 추가되는 요소는 리스트의 맨 뒤에 위치하며, 추가될 때 요소 자체가 그대로 추가된다.

• 단일 요소를 리스트의 끝에 추가하는 역할을 한다.

 

3.2 extend() 메서드


• extemd 메서드는 리스트에 다른 리스트나 반복 가능한(iterable) 객체의 모든 요소를 추가한다.

• 추가되는 요소는 개별적으로 리스트에 포함된다.

• 기존 리스트를 확장(extend)하여 새로운 요소를 추가하는 역할을 한다.

 

 

읽어주셔서 감사합니다.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.