Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 리스트 확장하는 5가지 방법

리스트(List)는 파이썬에서 가장 널리 사용되는 자료구조입니다. 프로그래밍을 하다 보면 기존 리스트에 새로운 요소를 추가해야 하는 상황이 자주 발생하는데, 이를 리스트 확장이라고 합니다. 파이썬에서는 다양한 방식으로 리스트를 확장할 수 있으며, 각 방법마다 특징과 용도가 조금씩 다릅니다.

이번 글에서는 파이썬에서 리스트를 확장할 수 있는 대표적인 5가지 방법을 코드 예제와 함께 살펴보겠습니다.

1. 더하기(+) 연산자 사용하기

가장 직관적인 방법은 + 연산자를 사용하는 것입니다. 두 개의 리스트를 더하면 하나의 새로운 리스트가 생성되며, 변수에 값을 할당하듯이 결과를 저장할 수 있습니다.

예제 코드

list = ['Mon','Tue','Wed']
list = list + ['Thu','Fri']
print(list)

실행 결과

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

2. 슬라이싱(Slicing) 활용하기

슬라이싱을 이용하면 리스트 끝에 요소를 추가할 수 있습니다. len() 함수로 리스트의 길이를 구한 뒤, 그 위치부터 끝까지의 범위에 새 리스트의 값을 할당하는 방식입니다.

예제 코드

list = ['Mon','Tue','Wed']
list[len(list):] = ['Thu','Fri']
print(list)

실행 결과

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

3. append() 함수 사용하기

append() 함수는 리스트 맨 뒤에 요소를 하나씩 추가할 때 사용합니다. 주의할 점은 다른 리스트를 append하면 해당 리스트가 통째로 하나의 요소로 들어가 중첩 리스트(nested list)가 된다는 것입니다.

예제 코드

list = ['Mon','Tue','Wed']
list.append('Thu')
list.append('Fri')
list.append(['sat','sun'])
print(list)

실행 결과

['Mon', 'Tue', 'Wed', 'Thu', 'Fri', ['sat', 'sun']]

출력 결과를 보면 마지막에 ['sat', 'sun']이 별개의 리스트 형태로 포함된 것을 확인할 수 있습니다.

4. extend() 함수 사용하기

extend()는 append와 비슷하지만 결정적인 차이가 있습니다. 다른 리스트를 전달하면 그 요소들이 개별적으로 풀려서 기존 리스트에 합쳐지기 때문에, 중첩 리스트가 생기지 않습니다.

예제 코드

list1 = ['Mon','Tue','Wed']
list2 = ['Thu','Fri','Sat']
list1.extend(list2)
print(list1)

실행 결과

['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

5. chain() 함수 사용하기

itertools 모듈의 chain() 함수를 사용하면 여러 개의 리스트를 한 번에 연결할 수 있습니다. 두 개 이상의 리스트도 손쉽게 하나의 최종 리스트로 합칠 수 있다는 장점이 있습니다.

예제 코드

from itertools import chain
list1 = ['Mon','Tue','Wed']
list2 = ['Thu','Fri']
list3 = ['Sat','Sun']
list4 = (list(chain(list1, list2,list3)))
print(list4)

실행 결과

['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

마무리

지금까지 파이썬에서 리스트를 확장하는 5가지 방법을 알아보았습니다. 정리하면 다음과 같습니다.

  • + 연산자: 새로운 리스트를 만들어 할당하는 간단한 방식
  • 슬라이싱: 인덱스 범위에 값을 할당하여 확장
  • append(): 요소를 하나씩 추가하며, 리스트를 넣으면 중첩 리스트가 됨
  • extend(): 다른 리스트의 요소를 개별적으로 펼쳐서 추가
  • chain(): 여러 개의 리스트를 한 번에 연결

상황에 맞는 적절한 방법을 선택하면 더 깔끔하고 효율적인 파이썬 코드를 작성할 수 있습니다.