파이썬에는 두 변수의 값을 매우 간결하게 교환할 수 있는 문법을 제공합니다.
이 기능은 단 한 줄로 값 교환이 가능하며 튜플 언패킹(Tuple Unpacking)이라는 파이썬만의 강력한 기능을 활용합니다.
일반적으로는 두 변수의 값을 바꾸려면 임시 변수(temp)가 필요합니다.
예를 들어 Java에서는 아래처럼 3줄로 처리합니다.
int temp = a;
a = b;
b = temp;
하지만 Python에서는 이 과정을 한 줄로 처리할 수 있습니다.
a, b = b, a
이것이 바로 파이썬의 스왑(Swap)입니다.
위 코드는 내부적으로 이렇게 작동합니다.
a, b = b, a
b, a
는 튜플 (b, a)
를 생성합니다.a, b
는 해당 튜플의 값을 순서대로 언패킹하여 대입합니다.이처럼 여러 개의 값을 한꺼번에 대입할 수 있도록 해주는 것이 바로 파이썬의 튜플 언패킹입니다.
a = 10
b = 20
a, b = b, a
print(a, b) # 출력: 20 10
b, a
→ (20, 10)이라는 튜플 생성a, b
에 각각 대입 → a = 20, b = 10x, y, z = [1, 2, 3]
print(x) # 1
print(y) # 2
print(z) # 3
[1, 2, 3]
의 요소들이 각각 x, y, z
에 순서대로 대입됩니다.개념 | 설명 |
---|---|
스왑(Swap) | a, b = b, a 로 두 변수 값을 간단히 교환하는 작업 |
튜플 언패킹(Tuple Unpacking) | 튜플이나 리스트 등의 시퀀스 자료형의 요소들을 여러 변수에 동시에 대입하는 문법 |