a, b, c = [1, 2, 3] # 리스트
print(a) # 1
print(b) # 2
print(c) # 3
a, *b, c = [1, 2, 3, 4, 5]
print(a) # 1
print(b) # [2, 3, 4]
print(c) # 5
a, b, *c = [1, 2, 3, 4, 5]
print(a) # 1
print(b) # 2
print(c) # [3, 4, 5]
컨테이너 그 자체를 unpacking하는 *
l1 = [1, 2, 3]
print(*l1) # 1 2 3
# 새로운 리스트에 합칠 수 있음
l1 = [1, 2, 3]
l2 = [4, 5, 6]
l3 = [*l1, *l2]
print(l3) # [1, 2, 3, 4, 5, 6]
l1 = [1, 2, 3]
l2 = 'XYZ'
l3 = (*l1, *l2)
print(l3) #(1, 2, 3, 'X', 'Y', 'Z')
l1 = [1, 2, 3]
l2 = *l1
print(l2) # SyntaxError: can't use starred expression here
key와 value를 한꺼번에 보기 위해 사용
d1 = {'p': 1, 'y': 2}
d2 = {'t': 3, 'h': 4}
d3 = {'h': 5, 'o': 6, 'n': 7}
d = {**d1, **d2, **d3}
print(d) # {'p': 1, 'y': 2, 't': 3, 'h': 5, 'o': 6, 'n': 7}
a, b, (c, d) = [1, 2, [3, 4]]
print(a) # 1
print(b) # 2
print(c) # 3
print(d) # 4