파이썬, 자료 패킹과 언패킹 (packing vs. unpacking)

 

글.  오상문 sualchi@daum.net

 

패킹은 여러 자료를 튜플, 리스트, 사전 등으로 묶는 것이고
언패킹은 패킹된 자료를 풀어서 사용하는 것이다.

 

패킹과 언패킹 예제는 다음과 같다.

 

a = 1
b = 2

a,b = b,a     # a,b = (b,a) 패킹 후에 언패킹
print(a, b)


# [출력] 2 1

 

nums = 1, 2, 3       # nums = (1, 2, 3) 패킹
n1, n2, n3 = nums  # 언패킹
print(nums)
print(n1, n2, n3)


# [출력] (1, 2, 3)
# [출력] 1 2 3

 

# 자료 튜플로 패킹 후 사용하기
x = 10
y = 20
pos = x,y  # 패킹: 튜플 pos = (x, y) 

print("튜플 pos 값:", pos)


# [출력] (10, 20)  <-- 튜플이 출력됨

 

print("튜플 pos 값: %i, %i"%(pos[0], pos[1]))  #  인덱스 사용 


# [출력] 10, 20    

 

# 사전(딕셔너리) scores 생성   
scores = {'홍길동':100, '이민수':90, '김철수' : 75}

for s in scores.items():
  print('%s 점수:%i'%(s[0], s[1])) #  인덱스 사용

 

# [출력]

# 홍길동 점수:100
# 이민수 점수:90
# 김철수 점수:75

 

# xxx.items() 항목에서 해당 튜플을 받으려면 *를 앞에 사용
for s in scores.items():
  print('{} 점수:{}'.format(*s))     # *s 사용은 format()에서!

 

# [출력]

# 홍길동 점수:100
# 이민수 점수:90
# 김철수 점수:75

 

<이상>

 

 

반응형

+ Recent posts