Unpacking(구조 분해 할당)

Jeonghwan Yoon·2025년 4월 1일

리스트 slicer가 [값1, 값2, 값3] 형태일 때,
각 값을 순서대로 변수 a, b, c에 할당합니다.

slicer = [2, 5, 10]
a, b, c = slicer
print(a)  # 2
print(b)  # 5
print(c)  # 10

주의할 점

slicer의 길이가 반드시 3이어야 해요.
만약 [1, 2]처럼 2개만 있으면 에러 발생:

a, b, c = [1, 2]
# ValueError: not enough values to unpack (expected 3, got 2)

반대로 4개 이상이면?

a, b, c = [1, 2, 3, 4]
# ValueError: too many values to unpack (expected 3)

안전하게 언패킹하려면?

  • 갯수가 다를 수 있다면 슬라이싱이나 별표(*) 연산자를 써서 처리 가능:
a, b, *rest = [1, 2, 3, 4, 5]
# a = 1, b = 2, rest = [3, 4, 5]
profile
안녕하세요.

0개의 댓글