zip 함수
: 여러 개의 iterable 객체를 인자로 받아 각 객체가 담은 원소를 튜플 형태로 접근할 수 있도록 반복자(iterator)를 반환한다.
list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]
pairs = [pairs for pair in zip(list1, list2)]
pairs
>>> [('a', 1), ('b', 2), ('c', 3)]
dict(pairs)
>>> {'a' : 1, 'b' : 2, 'c' : 3}
#unpacking 인자를 이용한 역변환
a, b = zip(*pairs)
numbers = [1, 2, 3]
letters = ["A", "B", "C"]
for i in range(3):
pair = (numbers[i], letters[i])
print(pair)
[output]
(1, 'A')
(2, 'B')
(3, 'C')
for number, upper, lower in zip("12345", "ABCDE", "abcde"):
print(number, upper, lower)
[output]
1 A a
2 B b
3 C c
4 D d
5 E e
keys = [1, 2, 3]
values = ["A", "B", "C"]
dict(zip(keys, values))
[output]
{1: 'A', 2: 'B', 3: 'C'}
dict(zip(["year", "month", "date"], [2001, 1, 31]))
[output]
{'year': 2001, 'month': 1, 'date': 31}
numbers = ["1", "2", "3"]
letters = ["A"]
list(zip(numbers, letters))
[output]
[('1', 'A')]
❗ 아직 체화가 안되서 막상 코드 찍을 때 생각나지 않지만, 잘 활용하면 편리할 것 같다.