Home [Better Way #06] 인덱스를 사용하는 대신 대입을 사용해 데이터를 언패킹하라
Post
Cancel

[Better Way #06] 인덱스를 사용하는 대신 대입을 사용해 데이터를 언패킹하라

본문은 “파이썬 코딩의 기술 (Effective Python, 2판)”“Chapter 01. Pythonic Thinking”을 읽고 정리한 내용입니다.


언패킹 구문의 동작 원리

언패킹(unpacking)이란, 한 문장 안에서 여러 값을 대입할 수 있는 문법이다.

1
2
3
4
5
6
7
8
9
def bubble_sort(a):
    for _ in range(len(a)):
        for i in range(1, len(a)):
            if a[i] < a[i - 1]:
                a[i - 1], a[i] = a[i], a[i - 1] # 언패킹

names = ["프레즐", "당근", "쑥갓", "베이컨"]
bubble_sort(names)
print(names) # ['당근', '베이컨', '쑥갓', '프레즐']
  1. 대입문의 우항 (a[i], a[i - 1])이 계산된다.
  2. 그 결과값이 이름이 없는 새로운 tuple에 저장된다.
  3. 대입문의 좌항에 있는 언패킹 패턴 (a[i - 1], a[i])을 통해 임시 tuple의 값이 각각의 변수에 저장된다.
  4. 이름이 없는 임시 tuple이 사라진다.
This post is licensed under CC BY 4.0 by the author.

[Better Way #05] 복잡한 식을 쓰는 대신 도우미 함수를 작성하라

[Better Way #07] range 보다는 enumerate를 사용하라