프로그래밍, 코딩, 컴퓨터/파이썬(python)

파이썬 튜플(Tuple) 사용 방법 및 정리

마이데일리 2023. 7. 1. 09:18
반응형

파이썬 리스트(list)와 달리 튜플(tuple)은 일단 생성되면 수정할 수 없으므로 변경해서는 안 되는 데이터를 저장하고 액세스하는 데 이상적입니다. 이 글에서는 Python 튜플의 깊이에 대해 알아보고 고유한 특성과 사용 사례를 살펴보고, 실제 예제를 통해 실용적인 응용 사례를 공부해 봅시다.

 

파이썬 튜플

 

 

파이썬 튜플 이해

Python의 튜플은 괄호 ()로 묶인 순서가 지정된 요소 모음입니다. 튜플은 리스트와 비슷하지만 핵심적인 차이점은 불변성에 있습니다.

 

튜플이 생성되면 해당 요소를 수정, 추가 또는 제거할 수 없습니다. 이러한 불변성은 데이터 무결성과 일관성이 가장 중요한 시나리오에서 튜플을 효율적으로 만듭니다.

 

 

튜플 만들기

간단한 튜플을 만들어 시작해 보겠습니다.

fruits = ("apple", "banana", "orange")

이 예제에는 "apple", "banana" 및 "orange"의 세 가지 요소가 있는 fruits라는 튜플이 있습니다. 튜플의 요소 순서는 보존되므로 목록에서와 같이 위치별로 액세스할 수 있습니다.

 

 

튜플 요소에 액세스

튜플의 개별 요소에 액세스하기 위해 목록과 유사한 인덱싱을 사용합니다. Python은 또한 튜플에 대해 0부터 시작하는 인덱싱을 사용합니다. 몇 가지 예를 살펴보겠습니다.

print(fruits[0])  # Output: apple
print(fruits[2])  # Output: orange

이 경우 인덱스 0에서 첫 번째 요소 "apple"에 액세스하고 인덱스 2에서 세 번째 요소 "orange"에 액세스합니다.

 

 

튜플의 불변 특성

튜플의 특징 중 하나는 불변성입니다. 튜플이 생성되면 해당 요소를 수정할 수 없습니다. 예를 보자:

fruits[1] = "mango"  # Raises an error: 'tuple' object does not support item assignment

이 경우 인덱스에 새 값을 할당하여 튜플을 수정하려고 시도하면 TypeError가 발생합니다.

 

 

튜플 패킹 및 언패킹

튜플 패킹은 단일 문에서 튜플에 여러 값을 할당하는 프로세스를 나타냅니다. 반면에 튜플 압축 풀기는 튜플의 요소를 여러 변수에 할당하는 것과 관련됩니다. 몇 가지 예를 살펴보겠습니다.

# Tuple packing
point = 3, 4
print(point)  # Output: (3, 4)

# Tuple unpacking
x, y = point
print(x)  # Output: 3
print(y)  # Output: 4

이 예에서 3 및 4 값은 point라는 튜플에 압축됩니다. 그런 다음 튜플의 압축을 풀고 해당 요소를 변수 x 및 y에 각각 할당합니다.

 

 

파이썬 튜플의 실용적인 예

함수에서 여러 값 반환

튜플은 함수가 여러 값을 반환해야 할 때 유용합니다. 예를 들면 다음과 같습니다.

def get_user_info():
    name = "John Doe"
    age = 25
    city = "New York"
    return name, age, city

user_info = get_user_info()

print(user_info)
# Output: ("John Doe", 25, "New York")

이 경우 get_user_info() 함수는 사용자의 이름, 나이 및 도시를 포함하는 튜플을 반환합니다. 반환된 튜플은 추가 처리를 위해 별도의 변수로 풀 수 있습니다.

 

 

사전의 변경 불가능한 키

튜플은 불변성으로 인해 사전에서 키로 자주 사용됩니다. 이렇게 하면 튜플이 안정적이고 변경할 수 없는 키 역할을 할 수 있습니다. 예를 들면 다음과 같습니다.

student_scores = {("John", "Doe"): 85, ("Jane", "Smith"): 92}

print(student_scores[("John", "Doe")])  # Output: 85

이 예에서 학생의 이름을 나타내는 튜플은 해당 점수를 값으로 사용하여 사전에서 키 역할을 합니다.

 

 

결론

Python 튜플(Tuple)은 정렬된 요소 컬렉션을 저장하고 액세스하는 불변의 효율적인 방법을 제공합니다. 불변성을 활용하여 튜플은 데이터 무결성을 보장하고 요소를 수정해서는 안 되는 상황에 적합합니다. 함수에서 여러 값을 반환하든, 사전 키를 생성하든, 상수 데이터를 처리하든 튜플은 Python 개발자의 툴킷에서 기능을 제공합니다. 

 

 

[관련글]

[파이썬(python)] - 파이썬 이란?

 

파이썬 이란?

프로그래밍 언어의 세계에서 Python은 수년에 걸쳐 엄청난 인기를 얻은 다재다능하고 강력한 도구로 두드러집니다. 1980년대 후반 Guido van Rossum이 만든 Python은 웹 개발 및 데이터 분석에서 인공 지

coding.2toy.net

[html, css, js] - 왜 자바스크립트(JavaScript) 인가?

 

왜 자바스크립트(JavaScript) 인가?

JavaScript는 웹 개발을 위한 필수 언어가 되었으며 개발자는 상호 작용, 동적 콘텐츠 및 강력한 기능을 웹 사이트에 추가할 수 있습니다. JavaScript를 사용하면 대화형 양식을 만들고, 사용자 입력의

coding.2toy.net

[html, css, js] - HTML5 Canvas 캔버스 그래픽 만들기

 

HTML5 Canvas 캔버스 그래픽 만들기

HTML5 Canvas는 개발자가 웹 브라우저 내에서 직접 멋진 대화형 그래픽과 애니메이션을 만들 수 있는 다용도의 동적 요소입니다. 이 블로그 게시물에서는 HTML5 Canvas의 방대한 가능성을 탐색하고 디

coding.2toy.net

[html, css, js] - HTML 태그 및 요소, 속성 이해하기

 

HTML 태그 및 요소, 속성 이해하기

HTML(Hyper Text Markup Language)은 웹 페이지를 만들기 위해 사용되는 프로그래밍 언어입니다. HTML은 태그와 요소로 이루어져 있습니다. HTML 태그와 요소에 대한 이해는 웹 디자인 및 개발에서 기본이

coding.2toy.net

[html, css, js] - html, css, javascript를 활용한 간단 게시판 프로그램

 

html, css, javascript를 활용한 간단 게시판 프로그램

이 글은 html, css, javascript를 활용한 간단 게시판 프로그램 입니다. 게시물은 양식 아래에 표시되며 작성자의 이름과 게시물의 내용이 포함됩니다. 양식이 제출되면 JavaScript 코드는 새 게시물 요

coding.2toy.net

반응형