오늘 다뤄보려는 내용은 파이썬의 반복자(Iterator)이다. 많은 사람들이 파이썬의 "반복자"에 대해서 궁금해하는데, 정작 이 반복자는 파이썬의 반복문 뒤에 숨어서 기능하는 객체이며, 중요한 점은 반복자 자체에 대한 이해보다는 "반복가능한(iterable)" 기능을 구성하는 프로토콜에 대해서 이해하는 것이다. iterable 프로토콜은 파이썬의 for 구문의 핵심이며, 이 구조를 이해하면 반복가능한 커스텀 데이터 타입을 정의하여 만드는 것이 얼마든지 가능하다. 연속열 파이썬의 많은 타입들이 비슷한 동작을 공유하는 경우가 있다. 리스트나 튜플, 문자열과 range 객체는 단일 값이 아니라, 그 내부에 여러 개의 요소들을 포함하는 컨테이너이면서, 각 요소들간의 순서가 존재한다. (set, dict의 경우에..
맵과 필터는 리스트의 원소에 특정한 함수를 적용하여, 리스트의 내용을 바꾸는 조작이다. 실제로는 리스트 축약(List Comprehension) 문법으로 대체하여 더 많이 사용되기 때문에 함수의 사용법 자체는 사실 크게 중요하지 않을 수 있다. 하지만 리스트를 맵과 필터 (그리고 리듀스)를 이용해서 조작하고 다루는 방식은 이른바 함수형 패러다임에서 가장 기본적이고 중요한 멘탈 모델이기 때문에 익혀둘 필요가 있다. 물론 파이썬이 함수형 언어는 아니지만, 이 개념에 익숙해지면 코드를 더욱 간결하고 쉽게 짤 수 있는 기본기를 갖게 된다. 사상(mapping) 맵과 필터에서 가장 기본이 되는 개념은 바로 맵핑 그 자체이다. 함수를 입력을 받아 데이터를 가공하고 출력하는 장치로서 이해하는 개념이 일반적인데1, 이..
- Total
- Today
- Yesterday
- 표준입력
- 리스트
- 단어 빈도수
- 이중리스트를 사용하지 않기
- 반복자
- ipython-notebook
- 정렬키
- 우분투
- 파이썬노트북
- 정렬기준
- leapYear
- 함수형
- locals()
- 파이썬
- Python
- short_circuit
- sorted
- python list
- 사전
- 리눅스
- globals()
- 변경가능
- 복수기준정렬
- Lambda
- 튜플언패킹
- mutability
- jupyter-notebook
- iterable
- 파일입출력
- dict
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |