python-zip함수

최대환·2022년 5월 11일
0

파이썬

목록 보기
16/16

정의

zip() 함수는 iterable(이터러블 : 반복 가능한 것들)을 여러개 받고, 원소 1개씩을 뽑아 tuple(튜플)로 합친다.

iterable 객체란?

활용

list와 tuple로 값 내보내기

이런식으로 li1 과 li2 를 튜플로 묶을 수 있다.
그냥 실행하면 반복자를 반환해서 반복자의 주소가 나온다.
list나 tuple을 활용하여 이런식으로 반환값을 내보낼 수 있다.
짧은 자료형 기준으로 만들어 진다.

코드

li1 = [1,2,3,4,5,7]
li2 = ['a','b','c']

print(zip(li1, li2))
print(list(zip(li1, li2)))
print(tuple(zip(li1, li2)))

결과

<zip object at 0x7fd06e3f7500>
[(1, 'a'), (2, 'b'), (3, 'c')]
((1, 'a'), (2, 'b'), (3, 'c'))

for 문으로 값 내보내기

for문을 사용해서 값을 내보낼 수 있다.
2개 이상의 인자도 받을 수 있다.

코드

li1 = [1,2,3,4,5,7]
li2 = ['a','b','c']

for a,b in zip(li1, li2):
    print(a,b)

for pair in zip(li1, li2):
    print(pair)

for a,b,c in zip('12345', 'abcde','ㄱㄴㄷㄹㅁ'):
    print(a,b,c)

결과

1 a
2 b
3 c
(1, 'a')
(2, 'b')
(3, 'c')
1 a ㄱ
2 b ㄴ
3 c ㄷ
4 d ㄹ
5 e ㅁ

딕셔너리로 값 내보내기

이런방식으로 딕셔너리로 만들 수 있다.

keys = [1,2,3]
values = ['a','b','c']
print(dict(zip(keys,values)))
{1: 'a', 2: 'b', 3: 'c'}
profile
나의 개발지식 output 공간

0개의 댓글