밍꽁✨
코딩하는 감자
밍꽁✨
전체 방문자
오늘
어제
  • 분류 전체보기 (27)
    • python (16)
      • 파이썬 머신러닝 완벽가이드 (6)
      • 코딩테스트 (4)
      • 머신러닝&딥러닝 (2)
      • 파이썬 기초 (4)
    • Qgis (1)
    • Tableau (6)
    • 빅데이터 분석 기사 (0)
    • 금융데이터 뚝딱이기 (4)
      • 신협 대학생 인턴십 (1)
      • 기사 스크랩 (3)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • NLP
  • 파이썬
  • 웰컴투태블로월드
  • 머신러닝
  • Light GBM
  • 역머니무브
  • 태블로
  • 신협인턴십
  • LGBM
  • 기사스크랩
  • python
  • bisect_left
  • bisect_right
  • 코딩테스트
  • 피처백터화
  • 인프런
  • Tableau
  • 파이썬기초
  • Python기초
  • sys.stdin.readline()

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
밍꽁✨

코딩하는 감자

python/코딩테스트

[python] zip함수 정리

2022. 7. 13. 14:58
반응형

프로그래머스로 문제를 풀고 나서 다른 사람들의 풀이를 볼 때 흔히 zip()함수를 쓰는 것을 볼 수 있다.

늘 리스트나 문자열의 원소를 for문을 돌려서 자료를 하나씩 빼곤 했는데

여러 원소를 한 번에 빼내야 하는 경우 zip함수의 가독성이 더욱 높다고 판단했다!


 1) 여러 변수의 객체를 인자로 받아 차례로 반환

* for문을 사용하는 경우

numbers = [1,2,3]
letters = ['A','B','C']

for i in range(3):
    pair = (number[i],letters[i])
    print(pair)

*zip 함수를 사용하는 경우

number = '12345'
upper = 'ABCDE'
lower = 'abcde'

for n,u,l in zip(number, upper, lower):
	print(n,u,l)

그러면 순서대로 

1 A a

2 B b.. 처럼 출력된다.


2) zip()함수로 엮어 놓은 데이터를 다시 해제하기

# zip()함수로 2개의 튜플을 엮은 후 리스트로 반환
numbers = (1,2,3)
letters = ('A','B','C')
pairs = list(zip(numbers,letters))

# 리스트 앞에 풀기 연산자를 붙여 다시 원래의 튜플로 나누기
numbers,letters = zip(*pairs)

3) 전치행렬 생성하기

a = [[1,2,3],[4,5,6],[7,8,9]]
b = list(zip(*a))

>> [(1,4,7),(2,5,8),(3,6,9)]

a 리스트의 각 요소인 리스트 들을 zip으로 묶어줄 수 있다. 이를 통해 transform 한 효과를 확인할 수 있다.


4) 딕셔너리 만들기

A = ['name','age','phone','gender']
B = ['CHAN',28,'010-xxxx-xxxx','male']
d = dict(zip(A,B))

>> {'name':'CHAN','age':28,'phone':'010-xxxx-xxxx','gender':'male'}

A 리스트의 값을 key로, B 리스트의 값을 value로 사용해서 딕셔너리를 생성한다. 즉 zip함수를 활용해 딕셔너리를 손쉽게 만들 수 있다.

반응형

'python > 코딩테스트' 카테고리의 다른 글

[python] 이진탐색 라이브러리 bisect  (0) 2022.08.19
[python] 예외처리 / EOF / try,except  (0) 2022.07.18
[python] 재귀함수 파헤치기  (0) 2022.07.08
    'python/코딩테스트' 카테고리의 다른 글
    • [python] 이진탐색 라이브러리 bisect
    • [python] 예외처리 / EOF / try,except
    • [python] 재귀함수 파헤치기
    밍꽁✨
    밍꽁✨
    감자의 데이터 분석 일지

    티스토리툴바