본문 바로가기
카테고리 없음

파이썬 리스트와 튜플 - 데이터 저장과 활용하기

by 혜택보관소 2024. 11. 15.

파이썬에서 데이터를 저장하는 기본적인 방법 중 하나는 리스트(List)튜플(Tuple)을 사용하는 것입니다.

리스트와 튜플은 모두 여러 개의 데이터를 한 번에 저장할 수 있는 시퀀스 자료형이지만, 중요한 차이점이 존재합니다.

이 글에서는 리스트와 튜플의 기본적인 사용법과 두 자료형의 차이점을 예제를 통해 살펴보겠습니다.

파이썬 리스트 튜플

1. 리스트(List)란?

리스트는 대괄호([])로 데이터를 감싸서 정의하며, 요소를 추가하거나 제거할 수 있어 가변적입니다. 파이썬에서 가장 많이 사용하는 자료형 중 하나로, 다양한 데이터 저장과 관리에 유용하게 활용됩니다.

1.1 리스트 생성하기

fruits = ["사과", "바나나", "체리"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "안녕하세요", True, 3.14]

리스트는 다양한 자료형을 한 번에 담을 수 있어 데이터의 구조화에 유리합니다.

1.2 리스트의 인덱싱과 슬라이싱

리스트의 각 요소에는 인덱스를 사용하여 접근할 수 있으며, 여러 요소를 추출할 때는 슬라이싱을 사용할 수 있습니다.

print(fruits[0])    # 사과
print(fruits[1:3])  # ['바나나', '체리']

위 코드에서는 fruits 리스트의 첫 번째 요소와 두 번째부터 세 번째까지의 요소를 출력합니다.

1.3 리스트의 주요 메서드

  • append(): 요소를 리스트 끝에 추가
  • insert(): 특정 위치에 요소 삽입
  • remove(): 특정 요소 제거
  • pop(): 마지막 요소 제거 (인덱스를 지정해 특정 요소 제거 가능)
  • sort(): 요소를 오름차순으로 정렬
  • reverse(): 요소의 순서를 뒤집기
fruits.append("포도")
print(fruits)             # ['사과', '바나나', '체리', '포도']

fruits.remove("바나나")
print(fruits)             # ['사과', '체리', '포도']

2. 튜플(Tuple)이란?

튜플은 소괄호(())로 데이터를 감싸서 정의하며, 생성 후 요소를 변경할 수 없는 불변 자료형입니다. 변경 불가능한 특성 덕분에 리스트보다 빠르고, 변경되지 않아야 하는 데이터를 저장할 때 유용합니다.

2.1 튜플 생성하기

colors = ("빨강", "파랑", "초록")
numbers = (1, 2, 3, 4, 5)
single_element = (3,)

요소가 하나인 튜플을 만들 때는 (값,) 형태로 콤마를 반드시 붙여야 합니다.

2.2 튜플의 인덱싱과 슬라이싱

리스트와 마찬가지로 튜플도 인덱싱과 슬라이싱을 사용할 수 있습니다.

print(colors[0])      # 빨강
print(numbers[1:3])     # (2, 3)

2.3 튜플의 주요 메서드

튜플은 불변 자료형이므로 요소를 추가, 삭제하는 메서드는 없습니다. 대신 두 가지 메서드를 제공합니다:

  • count(): 특정 값의 개수를 반환
  • index(): 특정 값의 첫 번째 인덱스를 반환
print(colors.count("빨강"))  # 1
print(numbers.index(3))   # 2

3. 리스트와 튜플의 차이점

리스트와 튜플은 모두 여러 데이터를 한 번에 저장할 수 있지만, 중요한 차이점이 있습니다.

특징 리스트 (List) 튜플 (Tuple)
기호 [] (대괄호) () (소괄호)
변경 가능성 변경 가능 변경 불가능
메모리 효율 낮음 (변경 가능성 때문에) 높음 (불변성 덕분에)
사용 예 데이터 수정, 추가, 삭제가 필요한 경우 고정된 데이터, 상수 값 저장 시

4. 리스트와 튜플의 변환

리스트와 튜플은 서로 변환이 가능합니다. 리스트를 튜플로 변환하면 불변성을 부여하고, 튜플을 리스트로 변환하면 요소를 수정할 수 있습니다.

# 리스트를 튜플로 변환
fruits = ["사과", "바나나", "체리"]
fruits_tuple = tuple(fruits)

# 튜플을 리스트로 변환
colors = ("빨강", "파랑", "초록")
colors_list = list(colors)

5. 리스트와 튜플 사용 예시

리스트와 튜플의 활용 예시를 통해 두 자료형의 장점을 알아보겠습니다.

예제 1: 리스트로 할 일 목록 관리하기

tasks = ["청소하기", "공부하기", "운동하기"]
tasks.append("요리하기")
tasks.remove("청소하기")
print(tasks)   # ['공부하기', '운동하기', '요리하기']

리스트는 할 일 목록과 같이 자주 수정이 필요한 데이터를 저장할 때 유용합니다.

예제 2: 튜플로 변경할 수 없는 고정 데이터 관리하기

months = ("1월", "2월", "3월", "4월", "5월", "6월",
          "7월", "8월", "9월", "10월", "11월", "12월")
print(months[0])  # 1월

튜플은 월과 같이 변경될 필요가 없는 고정 데이터를 저장할 때 유용합니다.

마무리

이번 글에서는 파이썬의 리스트와 튜플에 대해 살펴보았습니다. 리스트는 가변적이라 데이터를 자유롭게 추가, 수정할 수 있고, 튜플은 불변적이라 고정된 데이터를 저장할 때 적합합니다. 두 자료형의 특성을 이해하고 필요에 맞게 선택하여 사용해 보세요.