Python - zip으로 두개 리스트 묶기

By JS | Last updated: June 27, 2021

zip()은 순회 가능한(iterable) 객체들을 하나의 Iterable로 묶는데 사용합니다.

예제를 보면서 설명하겠습니다.

두개의 리스트를 하나의 리스트로 묶기

zip()에 두개의 리스트를 전달하면, 각각의 요소가 짝을 맞추어 리스트에 추가됩니다.

zip()은 iterable을 리턴하므로, List로 변환하려면 list()를 이용하여 변환해야 합니다.

numbers = [1, 2, 3]
numbers_str = ['one', 'two', 'three']

result = zip(numbers, numbers_str)

print(type(result))

result_list = list(result)
print(result_list)

Output:

<class 'zip'>
{(1, 'one'), (3, 'three'), (2, 'two')}
[(1, 'one'), (2, 'two'), (3, 'three')]

iterable을 set로 변환하려면 set()를 이용하면 됩니다.

result = zip(numbers, numbers_str)
result_set = set(result)

개수가 다른 리스트에 zip 적용

zip()으로 전달되는 리스트의 길이가 다르다면, 길이가 작은 것에 맞춥니다.

numbers = [1, 2, 3]
numbers_str = ['one', 'two', 'three', 'four']

result = zip(numbers, numbers_str)

result_set = set(result)
print(result_set)

Output:

{(2, 'two'), (1, 'one'), (3, 'three')}

3개 이상의 리스트에 zip 적용

zip()에는 두개 이상의 리스트를 인자로 전달할 수 있습니다. 리스트의 각 항목들이 합쳐져 iterable로 리턴됩니다.

numbers = [1, 2, 3]
numbers_str = ['one', 'two', 'three']
str_list = ['1st', '2nd', '3rd']

result = zip(numbers, numbers_str, str_list)

result_set = set(result)
print(result_set)

Output:

{(3, 'three', '3rd'), (1, 'one', '1st'), (2, 'two', '2nd')}

Related Posts

댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha