4. Python 기초 1. 자료형3 – Tuple, set

Ad Placeholder

Python Tuple과 Set 완벽 이해하기

Tuple(튜플)과 Set(집합)은 Python에서 자주 사용하는 자료형이지만, 처음 배우는 사람에게는 List와 비슷하게 보여 헷갈리기 쉽습니다. 이번 글에서는 Tuple과 Set의 특징, 실제 코드 예제, 그리고 왜 List 대신 Tuple을 사용하는지까지 쉽게 알아보겠습니다.

설명

Python에는 여러 개의 데이터를 저장하는 자료형이 여러 종류 있습니다. 앞에서 List와 Dictionary를 배웠다면, 이번에는 Tuple(튜플)Set(집합) 을 알아볼 차례입니다.

Tuple은 List와 비슷하지만 한 번 만든 데이터를 변경할 수 없다는 특징이 있으며, Set은 중복을 허용하지 않는 특별한 자료형입니다.

처음에는 “List가 있는데 왜 Tuple을 쓰지?”라는 의문이 들 수 있습니다. 하지만 각각의 자료형은 사용하는 목적이 다르며, 실제 개발에서는 상황에 맞게 적절한 자료형을 선택하는 것이 중요합니다.


Tuple(튜플)이란?

Tuple은 여러 개의 데이터를 순서대로 저장하는 자료형입니다.

겉보기에는 List와 매우 비슷하지만 가장 큰 차이점은 생성한 이후에는 데이터를 변경할 수 없다는 것입니다.

Tuple은 소괄호(())를 사용합니다.

예를 들어

point = (10, 20)

colors = ("red", "green", "blue")

처럼 작성합니다.


Tuple의 특징

Tuple은 다음과 같은 특징을 가지고 있습니다.

  • 여러 개의 데이터를 저장할 수 있다.
  • 저장된 순서가 유지된다.
  • 인덱스를 사용할 수 있다.
  • 데이터를 수정하거나 삭제할 수 없다.
  • 데이터를 실수로 변경하는 것을 방지할 수 있다.

Tuple 사용 예제

다음은 Tuple을 만드는 간단한 예제입니다.

fruits = ("사과", "바나나", "포도")

첫 번째 데이터를 출력하려면

print(fruits[0])

실행 결과

사과

Tuple도 List처럼 인덱스를 사용할 수 있습니다.


Tuple은 왜 사용할까?

초보자들이 가장 많이 하는 질문입니다.

“List도 여러 개 저장할 수 있는데 왜 Tuple을 사용할까요?”

가장 큰 이유는 데이터를 변경하면 안 되는 경우가 있기 때문입니다.

예를 들어

  • 지도의 좌표
  • 주민등록번호 형식
  • RGB 색상 값
  • 요일 정보
  • 월 이름

이처럼 프로그램이 실행되는 동안 값이 변하면 안 되는 데이터는 Tuple로 저장하는 것이 좋습니다.

예를 들어 좌표를 저장한다고 가정해 보겠습니다.

position = (120, 350)

이 좌표는 프로그램에서 기준 위치라면 변경되지 않는 것이 안전합니다.

Tuple을 사용하면 실수로 값을 수정하는 일을 예방할 수 있습니다.

또한 Tuple은 List보다 메모리를 조금 더 효율적으로 사용하며, 읽기 전용 데이터에 적합합니다.


Tuple과 List의 차이

구분ListTuple
기호[]()
데이터 수정가능불가능
데이터 추가가능불가능
데이터 삭제가능불가능
사용 목적변경 가능한 데이터변경되지 않는 데이터

간단히 정리하면,

  • 계속 변경되는 데이터 → List
  • 고정된 데이터 → Tuple

을 사용하는 것이 일반적입니다.


Set(집합)이란?

Set은 중복을 허용하지 않는 자료형입니다.

같은 값이 여러 번 들어와도 하나만 저장됩니다.

중괄호({})를 사용합니다.

예를 들어

numbers = {1, 2, 3, 4}

처럼 작성합니다.


Set의 특징

Set은 다음과 같은 특징을 가지고 있습니다.

  • 중복 데이터를 자동으로 제거한다.
  • 데이터의 순서를 보장하지 않는다.
  • 빠르게 데이터를 검색할 수 있다.
  • 집합 연산이 가능하다.

Set 사용 예제

다음과 같이 같은 값을 여러 번 넣어 보겠습니다.

numbers = {1, 2, 2, 3, 3, 3, 4}

print(numbers)

실행 결과

{1, 2, 3, 4}

중복된 숫자는 자동으로 제거됩니다.


문자열도 Set으로 만들 수 있을까?

물론 가능합니다.

예를 들어

fruits = {"사과", "바나나", "사과", "포도"}

print(fruits)

실행 결과

{"사과", "바나나", "포도"}

같은 “사과”가 두 번 들어갔지만 하나만 저장됩니다.


Set은 언제 사용할까?

Set은 중복을 제거해야 하는 상황에서 매우 유용합니다.

예를 들어

  • 회원 ID 중복 확인
  • 태그 목록
  • 로또 번호
  • 중복 없는 이메일 목록
  • 방문한 페이지 기록

처럼 같은 데이터가 여러 번 저장되면 안 되는 경우에 자주 사용됩니다.


Set과 List의 차이

구분ListSet
순서 유지OX
중복 허용OX
인덱스 사용OX
사용 목적순서가 중요한 데이터중복 제거

Tuple과 Set은 언제 선택해야 할까?

상황추천 자료형
학생 이름 목록List
회원 정보Dictionary
GPS 좌표Tuple
RGB 색상 값Tuple
로또 번호Set
중복 없는 태그 목록Set

각 자료형은 서로 경쟁 관계가 아니라, 저장하려는 데이터의 성격에 따라 선택하는 도구라고 생각하면 이해하기 쉽습니다.


자주 묻는 질문(FAQ)

Q1. Tuple은 정말 수정이 불가능한가요?

네.

Tuple은 한 번 생성하면 값을 추가하거나 삭제하거나 수정할 수 없습니다. 그래서 변경되면 안 되는 데이터를 저장할 때 적합합니다.


Q2. List 대신 Tuple을 사용하면 어떤 장점이 있나요?

Tuple은 데이터를 변경할 수 없기 때문에 실수로 값이 수정되는 것을 방지할 수 있습니다.

또한 읽기 전용 데이터에 적합하며, 일반적으로 List보다 메모리 사용이 조금 더 효율적입니다.


Q3. Set은 왜 순서가 없나요?

Set은 순서보다 중복 제거와 빠른 검색에 초점을 맞춘 자료형입니다.

따라서 데이터를 저장한 순서대로 출력된다고 보장할 수 없습니다.


Q4. Set에서 같은 값을 여러 번 저장하면 어떻게 되나요?

자동으로 하나만 저장됩니다.

예를 들어

{1, 1, 1, 2, 2, 3}

{1, 2, 3}

으로 저장됩니다.


마무리

Tuple과 Set은 List나 Dictionary만큼 자주 사용되지는 않지만, 각각의 역할이 분명한 자료형입니다.

Tuple은 변경되면 안 되는 데이터를 안전하게 저장할 때 사용하며, Set은 중복 없는 데이터를 관리할 때 가장 적합합니다.

Python에서는 어떤 자료형이 가장 좋은 것이 아니라, 상황에 맞는 자료형을 선택하는 것이 중요합니다. List, Dictionary, Tuple, Set의 특징을 이해하고 적절히 활용한다면 더욱 효율적이고 읽기 쉬운 프로그램을 작성할 수 있습니다.

jiji

AI, Python, 생활정보와 정부 정책 정보를 쉽게 설명하는 정보 블로그입니다.

Ad Placeholder
Scroll to Top