Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

Python 튜플의 중요성과 사용 방법

권현욱(엑셀러) 2023. 12. 24. 20:00
반응형

튜플(Tuples)은 순서가 있고 변경할 수 없는 요소 시퀀스이며 파이썬에서 다양한 목적으로 널리 사용됩니다. 튜플을 생성하고, 해당 요소에 접근하고, 다양한 상황에서 사용하는 방법에 대해 소개합니다.

 

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · Excel 솔루션 프로바이더 · 작가

 

※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.


  • 원문: Python Tuples: Why They Matter and How to Use Them
  • URL: https://pythonflood.com/python-tuples-why-they-matter-and-how-to-use-them-40f0831de21b

개요

튜플은 순서가 있고 변경할 수 없는 요소의 시퀀스입니다. 즉, 튜플을 만든 후에는 해당 요소를 수정할 수 없습니다. Python에서는 쉼표로 구분된 값 목록을 괄호로 묶어 튜플을 만듭니다. 예는 다음과 같습니다.

my_tuple = ( 1 , 2 , 3 , "4" , 5.0 )

 

이 예에서 my_tuple에는 정수 1, 2, 3, 문자열 "4", 부동 소수점 숫자 5.0 등 5개의 요소가 포함되어 있습니다. Python에서 튜플의 주요 기능 중 일부를 살펴보겠습니다.

 

요소에 접근하기

인덱싱을 사용하여 튜플의 개별 요소에 액세스할 수 있습니다. Python에서는 인덱싱이 0부터 시작됩니다.

my_tuple = (1, 2, 3, "four", 5.0)
print(my_tuple[0])  # Output: 1
print(my_tuple[3])  # Output: "four"

 

음수 인덱싱을 사용하여 튜플 끝의 요소에 액세스할 수도 있습니다.

my_tuple = (1, 2, 3, "four", 5.0)
print(my_tuple[-1])  # Output: 5.0
print(my_tuple[-3])  # Output: 3

 

슬라이싱

슬라이싱을 사용하여 튜플의 다양한 요소에 액세스할 수도 있습니다. 슬라이싱은 지정된 범위의 요소를 포함하는 새 튜플을 반환합니다.

my_tuple = (1, 2, 3, "four", 5.0)
print(my_tuple[1:3])  # Output: (2, 3)
print(my_tuple[2:])   # Output: (3, "four", 5.0)
print(my_tuple[:4])   # Output: (1, 2, 3, "four")

 

언패킹

튜플 언패킹(unpacking) 사용하여 튜플의 요소를 개별 변수에 할당할 수 있습니다. 이는 튜플을 반환하는 함수가 있고 값을 별도의 변수에 할당하려는 경우 유용할 수 있습니다.

def rectangle_info(length, width):
    area = length * width
    perimeter = 2 * (length + width)
    return area, perimeter

area, perimeter = rectangle_info(5, 10)
print("Area:", area)
print("Perimeter:", perimeter)

 

이 코드는 튜플 압축 풀기를 사용하여 rectangle_info() 함수의 반환 값을 변수 Area 및 perimeter에 할당합니다.

 

불변성

앞서 언급했듯이 Python의 튜플은 불변입니다. 즉, 튜플을 만든 후에는 해당 요소를 수정할 수 없습니다. 예를 들어 다음 코드는 TypeError를 발생시킵니다.

my_tuple = (1, 2, 3, "four", 5.0)
my_tuple[0] = 10  # Raises TypeError: 'tuple' object does not support item assignment

 

시퀀스의 요소를 수정해야 하는 경우 튜플 대신 리스트(Lists)를 사용해야 합니다.

 

팁 & 트릭

Python 튜플 작업에 대한 몇 가지 팁과 요령입니다.

 

  1. 괄호를 사용하여 튜플 생성: my_tuple = (1, 2, 3)과 같이 쉼표로 구분된 값 목록을 괄호로 묶어 튜플을 생성할 수 있습니다.
  2. 인덱싱을 사용하여 튜플 요소에 액세스: 인덱싱을 사용하여 튜플의 개별 요소에 액세스할 수 있습니다. Python에서 인덱싱은 0부터 시작합니다. 예를 들어 튜플 my_tuple의 두 번째 요소에 액세스하려면 my_tuple[1]을 사용할 수 있습니다.
  3. 음수 인덱싱을 사용하여 튜플 끝의 요소에 액세스합니다. 음수 인덱싱을 사용하여 튜플 끝의 요소에 액세스할 수 있습니다. 예를 들어, 튜플 my_tuple의 마지막 요소에 액세스하려면 my_tuple[-1]을 사용할 수 있습니다.
  4. 슬라이싱을 사용하여 다양한 요소에 액세스: 슬라이싱을 사용하여 튜플의 다양한 요소에 액세스할 수 있습니다. 슬라이싱은 지정된 범위의 요소를 포함하는 새 튜플을 반환합니다. 예를 들어, 튜플 my_tuple의 처음 세 요소를 가져오려면 my_tuple[:3]을 사용할 수 있습니다.
  5. 튜플 압축 해제를 사용하여 변수에 요소 할당: 튜플 압축 해제를 사용하여 튜플의 요소를 개별 변수에 할당할 수 있습니다. 예를 들어, 튜플 my_tuple의 처음 두 요소를 변수 a와 b에 할당하려면 a, b = my_tuple[:2]를 사용할 수 있습니다.
  6. 튜플을 사전의 키로 사용: 튜플은 변경할 수 없으므로 사전의 키로 사용할 수 있습니다. 이는 값의 조합으로 고유하게 식별할 수 있는 데이터를 저장해야 할 때 유용할 수 있습니다.
  7. 튜플을 함수의 반환 값으로 사용: 튜플을 함수의 반환 값으로 사용하여 여러 값을 반환할 수 있습니다. 이는 함수에서 둘 이상의 값을 반환해야 할 때 유용할 수 있습니다.
  8. 튜플은 불변이라는 점을 기억하세요. 튜플은 불변입니다. 즉, 일단 생성된 요소는 수정할 수 없습니다. 시퀀스의 요소를 수정해야 하는 경우 튜플 대신 목록을 사용해야 합니다.

 

결론

Python 튜플의 기본 사항을 다루고 다양한 시나리오에서 어떻게 사용할 수 있는지 살펴보았습니다. 튜플 생성, 해당 요소에 액세스, 슬라이싱 및 압축 풀기를 사용하여 조작, 불변성의 중요성 등 다양한 주제를 다루었습니다.

 

튜플은 Python의 중요한 데이터 구조이며, 이를 효과적으로 사용하는 방법을 이해하면 보다 효율적이고 강력한 Python 코드를 작성하는 데 도움이 됩니다. 튜플은 Python의 강력한 도구이며 일단 숙달하고 나면 자신의 프로그래밍 프로젝트에서 이점을 활용할 수 있습니다.

 

튜플은 Python에서 사용할 수 있는 많은 데이터 구조 중 하나일 뿐이며, 이에 대해 더 많이 배울수록 프로그래밍 기술이 더욱 효과적이라는 것을 기억하세요.