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)하여 새로운 요소를 추가하는 역할을 한다.
읽어주셔서 감사합니다.