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

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

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

1. zip으로 두개의 리스트를 하나로 묶기

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)

2. 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으로 3개 이상의 리스트를 하나로 묶기

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')}
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha