파이썬 스왑 | Python Swap

가잉·2025년 3월 24일
0

Python

목록 보기
2/2
post-thumbnail

파이썬에는 두 변수의 값을 매우 간결하게 교환할 수 있는 문법을 제공합니다.

이 기능은 단 한 줄로 값 교환이 가능하며 튜플 언패킹(Tuple Unpacking)이라는 파이썬만의 강력한 기능을 활용합니다.

✅ 스왑(Swap)

일반적으로는 두 변수의 값을 바꾸려면 임시 변수(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 = 10

💡 튜플 언패킹은 스왑 외에도 다양하게 활용됩니다

x, 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)튜플이나 리스트 등의 시퀀스 자료형의 요소들을 여러 변수에 동시에 대입하는 문법
profile
공부합니다.

0개의 댓글