언패킹(Unpacking)
예를 들어 문자열의 각 문자 요소들을 여러개의 변수에 나누가 싶다면 다음과 같이 간단하게 가능합니다.
>>> a, b, c, d, e = 'Hello'
>>> a
'H'
>>> b
'e'
>>> c
'l'
>>> d
'l'
>>> e
'o'
|
cs |
만약 언패킹시에 나누어 담을 변수와 언패킹할 대상 시퀀스의 length가 다르면 다음과 같은 오류가 발생합니다.
변수보다 시퀀스의가 더 큰 경우.
변수는 네 개인데, 시퀀스의 요소는 5입니다.
>>> a, b, c, d = 'Hello'
Traceback (most recent call last):
File "<pyshell#7>", line 1, in <module>
a, b, c, d = 'Hello'
ValueError: too many values to unpack (expected 4)
|
cs |
시퀀스보다 변수의 개수가 더 많은 경우입니다. f 변수에는 언패킹시 들어갈 값이 없습니다.
>>> a, b, c, d, e, f = 'Hello'
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
a, b, c, d, e, f = 'Hello'
ValueError: not enough values to unpack (expected 6, got 5)
|
cs |
패킹(Packing)
언패킹과 반대로 패킹은 기존에 있던 변수 값들을 하나로 뭉치는 것 입니다. 패킹을 하는경우 패킹된 대상은(여기서는 d 변수) 튜플 타입입니다.
>>> a = [1,2]
>>> b = [3,4]
>>> c = 'Hello'
>>> d = a, b, c
>>> d
([1, 2], [3, 4], 'Hello')
|
cs |
'Python' 카테고리의 다른 글
[Python] 파이썬 pip 설치시 오류. You are using pip version... 해결 방법 (0) | 2018.08.29 |
---|---|
[Python] 파이썬 whl(wheel) 파일로 패키시 설치시 파일명.whl is not a supported wheel on this platform 문제 해결 방법 (5) | 2018.08.29 |
[Python] 파이썬 리스트 타입 - list 객체 (0) | 2018.07.11 |
[Python] 명령행으로 프로그램 인자값 받기 - sys.argv (0) | 2018.07.09 |
[Python] Anaconda(아나콘다) 설치하기 (0) | 2018.06.22 |