본문 바로가기

Python/그때 이걸 알았더라면..

[Python] zip!

zip 함수 알아두면 유용하게 쓸일이 많다.

 

여기 동일한 길이를 가진 2개의 리스트가 있다.

list_a = [1,2,3,4,5]
list_b = ['사과','배','김치','바나나','키위']

 

list_a와 list_b에서 값을 하나씩 꺼내어 새로운 list에 저장해보자

result_list = list(zip(list_a,list_b))

result_list의 값으로 => [(1,'사과'), (2,'배'), (3,'김치'), (4,'바나나'), (5,'키위')] 가 얻어진다.

각 리스트에서 값을 하나씩 꺼내와 튜플로 짝지어 리스트 형태로 반환한다.

 

주로 딕셔너리를 만들때 유용하다

result_dict = {}

for a,b in zip(list_a,list_b):
	result_dict[a] = b
    
 

이렇게 zip을 이용해 key,value를 지정하여 딕셔너리를 쉽게 만들수 있다

 

* <추가>

딕셔너리를 만들때 굳이 위의 반복문을 사용하지 않고 아래처럼 zip객체를 만든 후 딕셔너리의 인자로 넣어줘도 된다

# zip object 생성
zip(list_a,list_b)

# dict()의 인자로 zip 객체
result_dict = dict(res_zip)