차밍이
[파이썬] zip 내장함수 - 묶어서 데이터 가져오기 본문
반응형
zip
함수를 사용하면 여러 그룹의 데이터를 묶어서 출력해줄 수 있습니다.
zip 함수
zip()
함수는 iterable
객체를 인자로 받아서 사용합니다. 여러 개의 iterable
객체를 받은 후 자료형 들을 묶어서 튜플 형태로 출력해줍니다.
# zip(*iterable) : 동일한 개수로 이루어진 자료형을 묶어 줌
a = ['one', 'two', 'three']
b = ['a', 'b', 'c']
list(zip(a, b))
>>> [('one', 'a'), ('two', 'b'), ('three', 'c')]
a라는 리스트와 b라는 리스트의 값들이 index
순서에 따라서 묶어진 것을 확인할 수 있습니다.
# 두 리스트의 요소 끄집어내기
# zip 함수 사용한 방법
for val1, val2 in zip(a, b):
print(val1, val2)
>>>
one a
two b
three c
반복문에서 특히나 활용하기가 좋습니다. 반복문을 수행할 때, 두 개의 리스트의 값을 각각 가져와야 할 경우 매우 유용하게 사용할 수 있습니다.
zip 함수 활용
1. 전치행렬 생성하기
# 전치행렬 생성
a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
b = list(zip(*a))
b
>>> [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
a 리스트의 각 요소인 리스트 들을 zip으로 묶어줄 수 있습니다. 이를 통해서 transform 한 것과 같은 효과를 확인할 수 있습니다.
2. dictionary 만들기
A = ['name', 'age', 'phone', 'gender']
B = ['CHAN', 28, '010-XXXX-YYYY', 'male']
d = dict(zip(A, B))
d
>>>
{'name': 'CHAN', 'age': 28, 'phone': '010-XXXX-YYYY', 'gender': 'male'}
A 리스트의 값을 key 값으로 사용하고 B 리스트의 값을 value 값으로 사용하여 딕셔너리를 생성합니다.
이런 방식으로 dictionary를 선언해야 할 때, 손쉽게 만들어줄 수 있을 것입니다.
enumerate
와 마찬가지로 zip
함수는 매우 활용도가 높은 내장함수이므로 잘 숙지하고 익히면 좋습니다.
반응형
'파이썬 > 기본 문법 정리' 카테고리의 다른 글
[Pandas] 판다스 기초 #2 - 데이터 구간별 범주화 pd.cut (0) | 2021.05.30 |
---|---|
[Pandas] 판다스 기초 #1 자료구조와 Attribute - index, columns, rename (0) | 2021.05.29 |
[파이썬] 함수에 입력 변수 여러개 받기 - 매개변수 (0) | 2021.05.28 |
[NumPy] 넘파이 기초 공부하기 #2 np.vstack, hstack, fromfunction (0) | 2021.05.27 |
[파이썬] 리스트 인덱스와 값 같이 가져오기 : 내장함수 - enumerate (0) | 2021.05.26 |
객체 지향 프로그래밍 : 객체와 메서드를 통해 알아보자 (0) | 2020.01.29 |
Seaborn(SNS)를 사용한 파이썬 데이터 시각화 기초 matplotlib (0) | 2020.01.28 |
[NumPy] 넘파이 기초 공부하기 #1 np.array, ndim, shape, dtype (6) | 2020.01.26 |
관련된 글 보기
Comments