본문 바로가기

About/Python

[Python] Enumerate(), Zip()

Enumerate

  • List의 Element를 추출할 때 번호를 붙여서 추출할 수 있게 해주는 함수
  • List를 다룰 때 index번호가 필요한 경우 유용하게 사용할 수 있다.

enumerate() 기본 예제

위 코드에서 idx에 번호가, el에 리스트의 element가 저장되어 출력된다.

 

enumerate()를 이용한 list 생성

기존의 numbers 리스트의 요소를 index와 함께 묶은 list로 저장한다.

참고로 새로 생긴 list의 요소들의 type은 'tuple'이다.

 

다음과 같이 dict 자료형 또한 생성 가능하다.

enumerate()를 이용한 dict 생성

 

Zip

  • 두 개의 list의 값을 병렬적으로 추출하는 함수
  • 함수명 처럼 두 개의 list를 Zip해주는(묶어주는) 함수이다.

Zip() 기본 예제

위의 예제에서 볼 수 있듯이 list1과 list2가 병렬적으로 a,b에 반환된다.

병렬적으로 라는 말은 두 리스트의 같은 index에 있는 요소가 a,b에 반환된 것이다.

 

Zip을 이용하여 Tuple 생성 후 Tuple의 합을 가지는 list 생성

a,b,c에 3개의 튜플의 같은 index끼리 묶은 요소를 반환하여 새로운 튜플을 생성하였다.

위의 속성과 sum(tuple)을 이용하여 

각 리스트의 같은 index를 묶은 새로운 tuple의 합을 가지는 list를 생성하였다.

 

 

 

마지막으로 Enumerate()와 Zip()을 모두 사용한 예제이다.

 

Enumerate()와 Zip()을 같이 사용한 예제

 

 

참고

https://www.edwith.org/aipython/joinLectures/28027

'About > Python' 카테고리의 다른 글

[Python] Collections - deque  (0) 2020.12.20
[Python] Lambda & Map & Reduce  (0) 2020.12.20
[Python] List comprehension  (0) 2020.12.13
[Python] Split(), Join()  (0) 2020.12.13
[Python]Pythonic Code란  (0) 2020.12.11