튜플패킹과 언패킹

BackEnd_Ash.log·2020년 2월 16일
0

파이썬

목록 보기
6/34

튜플 패킹

여러가지 데이터를 튜플로 묶는 것을 튜플 패킹

x = 10, 20, 30
print(x) # (10, 20, 30)

tri_one = 12 , 15
print(tri_one) # (12,15)

튜플 언패킹

tri_three = (12,25)
bt , ht = tri_three
print(bt,ht) # 12 25

둘 이상의 값을 리스트로 묶어서 하나의 변수에 저장하는 것도 가능하다.

nums = (1, 2, 3, 4, 5)
first, *other, second = nums
print(first, other, second)  # 1 [2, 3, 4] 5

튜플이 아니라 리스트로 묶인다는것을 기억해야한다.
당연히 뒤나 앞을 묶을 수도 있다.

*first, other, second = nums
print(first, other, second)  # [1, 2, 3] 4 5
first, other, *second = nums
print(first, other, second)  # 1 2 [3, 4, 5]

언패킹은 튜플뿐만이 아니라 리스트에서도 동작을 한다 .

num_list = [1, 2, 3, 4, 5]
one, *two, three = num_list
print(one, two, three)  # 1 [2, 3, 4] 5
def ret_nums():
    return 1,2,3,4,5

n , *others = ret_nums() # 반환되는 값이 언패킹 되어 변수들에 저장
print(n) # 1 
print(others) # 리스트로 묶였다. [2,3,4,5]
def show_nums(n1 , n2 , *others): # 세 번째 이후 값들은 튜플로 묶여 other 에 전달
    print(n1 , n2 , other , sep= ', ')

print(show_nums(1,2,3,4)) # 1 , 2 , (3 , 4)
print(show_nums(1,2,3,4,5)) # 1 ,2 , (3,4,5)
def show_man(name, age, height):
    print(name, age, height, sep=' ')


p = ('Yoon', 22, 180)
print(show_man(*p))  # Yoon 22 180
profile
꾸준함이란 ... ?

0개의 댓글