-
[Python] 언패킹(unpacking) 연산자 *프로그래밍 언어/Python 2022. 6. 23. 09:44
서론
함수 파라미터로 *args와 **kwargs는 본 적 있지만 일반적인 문법에서 * 연산자가 직접 사용되는 것은 처음 봤기 때문에 내용을 간단하게 정리하기로 했다.
파이썬의 언패킹 연산자로 쓰이는 *에 대해 알아보자.
단, Python3 이상에서만 언패킹 연산자가 지원되는 것으로 보인다.
(2022.06.24) 언패킹 연산자 지원 버전 내용 추가
(2022.07.12) 참고문헌 url 추가
목차
1. 언패킹 연산자 *
tuple과 list는 앞에 *가 붙으면 하나로 묶여있던 데이터가 낱개로 풀린다. dictionary의 경우 key 부분이 풀린다.
하나로 묶여 있던 데이터가 풀린다는 의미가 무엇인지는 아래 코드를 보면 바로 이해가 될 것이다.
test_tuple = (1, 2, 3, 4) print(test_tuple) # (1, 2, 3, 4) print(*test_tuple) # 1 2 3 4 test_list = [1, 2, 3, 4] print(test_list) # [1, 2, 3, 4] print(*test_list) # 1 2 3 4 test_dict = { 'one': 1, 'two': 2, 'three': 3, 'four': 4 } print(test_dict) # {'one': 1, 'two': 2, 'three': 3, 'four': 4} print(*test_dict) # one two three four # key 값만 나오게 된다
특히 **를 사용하면 dictionary 형태의 데이터를 키와 밸류를 동시에 언패킹할 수 있다.
예를 들면 아래와 같다.
test_dict = { 'one': 1, 'two': 2, 'three': 3, 'four': 4 } other_dict = { **test_dict, 'five': 5 } print(other_dict) # {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5} # **test_dict를 함수 파라미터로 넘기면 # one=1, two=2, three=3, four=4로 쓰이게 된다
추가로 unpacking에 대해 훨씬 더 자세하게 알고 싶다면 아래 게시글을 추천한다.
https://0xffffffff.tistory.com/77?category=1035631
파이썬의 여러 요소에 대해 자세하게 잘 설명해주고 있는 유익한 블로그다.
참고문헌
https://0xffffffff.tistory.com/77?category=1035631
개인적인 자료 정리이기 때문에 잘못된 부분이 있다면 지적해주시면 감사하겠습니다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
[Python] 바다코끼리 연산자? := (the walrus operator) (0) 2022.06.24 [Python] for-else / while-else 문이란? (0) 2022.06.23 [Python] 내장 함수 정리 (0) 2022.04.05 [Python] 알고리즘 관련 라이브러리 및 주요 함수 정리 (0) 2021.10.21