Python : Tuple Unpacking

m_ngyeong·2024년 10월 9일
0

Python

목록 보기
4/17
post-thumbnail

🐍 Python


Tuple Unpacking

튜플 언패킹(Tuple Unpacking)은 튜플에 저장된 값을 여러 변수에 한 번에 할당하는 작업을 의미한다. 즉, 튜플의 각 요소를 개별 변수로 분리하여 할당하는 것을 말한다. 이 과정은 간결하게 여러 값을 동시에 처리할 수 있어 매우 유용하다.

# 튜플 생성
my_tuple = (1, 2, 3)

# 튜플 언패킹
a, b, c = my_tuple

print(a)  # 1
print(b)  # 2
print(c)  # 3

a, b, c = my_tuple 구문에 의해 튜플 언패킹이 일어나면서 튜플의 각 요소가 a, b, c라는 변수에 각가 할당된다.

  • a = 1
  • b = 2
  • c = 3

Rules

  • 튜플의 요소 개수변수의 개수는 일치해야 한다. 예를 들어, 튜플에 3개의 요소가 있으면 3개의 변수가 필요하다.
  • 만약 요소 개수가 맞지 않으면 ValueError가 발생한다.
# 예시: 요소와 변수의 개수가 맞지 않는 경우
my_tuple = (1, 2, 3)
a, b = my_tuple  # 오류 발생: ValueError: too many values to unpack

튜플 언패킹을 활용한 다양한 방법

여러 값을 동시에 반환

함수에서 여러 값을 반환할 때 튜플 언패킹을 사용하면 한 번에 여러 값을 받을 수 있다.

def get_coordinates():
    return (10, 20)

x, y = get_coordinates()  # 함수에서 반환된 튜플을 언패킹
print(x)  # 10
print(y)  # 20

값 교환

a = 5
b = 10

# 튜플 언패킹을 이용한 값 교환
a, b = b, a

print(a)  # 10
print(b)  # 5

언패킹 시 일부 값 무시

변수 앞에 밑줄(_)을 사용하면 튜플 언패킹 시 일부 값을 무시할 수 있다.

my_tuple = (1, 2, 3, 4)

a, b, _ , _ = my_tuple  # 3과 4는 무시
print(a)  # 1
print(b)  # 2

가변 개수의 값을 받을 때 (* 연산자)

별표(*)를 사용하면 여러 개의 값을 하나의 변수에 리스트로 받을 수 있다.

my_tuple = (1, 2, 3, 4, 5)

a, *b, c = my_tuple  # 첫 번째와 마지막 값을 각각 할당하고, 중간 값을 리스트로 받음
print(a)  # 1
print(b)  # [2, 3, 4]
print(c)  # 5

중첩된 튜플 언패킹

튜플 안에 튜플이 있는 경우, 중첩된 언패킹도 가능하다.

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

a, (b, c), d = my_tuple
print(a)  # 1
print(b)  # 2
print(c)  # 3
print(d)  # 4


profile
ʚȉɞ

0개의 댓글