파이썬의 사전 타입 사전은 파이썬에서 기본적으로 제공되는 유일한 맵핑 혹은 해시테이블 타입이다. 사전은 특정한 요소를 찾기 위해 키(key)를 사용한다. 보통은 문자열을 키로 사용하는데, 기본적으로 '변경 불가능'한 파이썬의 기본 타입들은 모두 키가 될 수 있다. (문자열, 정수, 실수, 튜플) 사전 만들기 사전을 생성하는 방법은 다음과 같은 것들이 있다. dict() 생성자 함수를 이용한다. 사전 리터럴을 이용한다. 사전 리터럴은 중괄호 속에 키: 값(콜론으로 구분)의 쌍을 다시 컴마로 구분하여 적는 것이다. dict() 함수를 이용한다면 (키, 값)으로 구성된 튜플의 연속열을 인자로 주면 된다. d1 = { 'a':1, 'b':2, 'c':3, 'd':4 } d2 = dict([('a', 1), ('..
튜플 튜플(tuple)은 두 개 이상의 값을 하나의 단위로 묶는데 사용된다. 튜플의 각 원소는 순서를 가질 수 있으며, 값의 타입에 구애받지 않는다. 또한 튜플은 리스트와 달리 변경이 불가능한 객체이다. 튜플의 각 원소는 인덱스에 의해 참조 가능하기 때문에, 익명의 자료 구조로서도 활용이 가능하다. birthday = (1990, 8, 31) year = birthday[0] month = birthday[1] day = birthday[2] 튜플은 "변경할 수 없는" 객체라 하였다. 이는 튜플의 구성 요소에 대해서 원소를 삽입/삭제/교환할 수 없다는 의미이다. birthday[1] = 9 ----------------------------------------------------------------..
iPython 설치하기 iPython은 파이썬의 기본 대화형 쉘의 기능을 향상 시킨 도구이다. 단순한 편의 기능이 몇 가지 추가된 수준이 아니라 최적화, 디버깅, 코드 편집과 탐색에 있어서 많은 양의 개선된 기능들을 포함하고 있다. tab 키를 통한 자동 완성 여러 줄에 걸친 코드 편집 기능 강화 문법에 따른 색상 강조 대화형 쉘 내에서 OS쉘의 명령을 즉시 호출 명령 수행 시간 및 속도 측정 도구 포함 특정 심볼에 대한 빠른 도움말 탐색 또한 iPython은 단순히 명령줄에서 실행되는 대화형 쉘을 개선하는 과정에서 파이썬 커널과 입출력 부분을 분리했다. 따라서 입출력 부분을 웹서버로 떼어내어 개발한 노트북이라는 기능도 별도로 제공한다. 이 노트북은 웹 브라우저 상에서 파이썬 코드를 셀별로 작성하여, 각..
맵과 필터는 리스트의 원소에 특정한 함수를 적용하여, 리스트의 내용을 바꾸는 조작이다. 실제로는 리스트 축약(List Comprehension) 문법으로 대체하여 더 많이 사용되기 때문에 함수의 사용법 자체는 사실 크게 중요하지 않을 수 있다. 하지만 리스트를 맵과 필터 (그리고 리듀스)를 이용해서 조작하고 다루는 방식은 이른바 함수형 패러다임에서 가장 기본적이고 중요한 멘탈 모델이기 때문에 익혀둘 필요가 있다. 물론 파이썬이 함수형 언어는 아니지만, 이 개념에 익숙해지면 코드를 더욱 간결하고 쉽게 짤 수 있는 기본기를 갖게 된다. 사상(mapping) 맵과 필터에서 가장 기본이 되는 개념은 바로 맵핑 그 자체이다. 함수를 입력을 받아 데이터를 가공하고 출력하는 장치로서 이해하는 개념이 일반적인데1, 이..
reduce 사용하기 reduce 함수는 리스트의 원소들을 중첩하여 하나의 값으로 만드는 과정을 처리하는 함수이다. 이 함수는 functools 모듈내에 정의되어 있으므로 사용을 위해서는 해당 함수를 import 명령으로 반입해야 한다. from functools import reduce reduce 함수는 세 개의 인자를 받는데, 첫 번째 인자는 두 개의 인자를 받아서 1개의 값을 리턴하는 함수이다. 두번째 인자는 리스트이다. 세번째 인자는 초기값이다. 주어지지 않은 경우, 리스트의 첫 번째 원소를 사용한다. reduce 함수의 동작 원리에 대해서 조금 짚고 넘어가자. 사실 많은 예를 접해서 이 함수가 어떻게 돌아가는지를 보고 나면 감을 잡을 수 있는 부분이기도 하다. reduce 함수는 특정한 결과값..
리스트 기본 사용법리스트는 일련의 원소들이 순서를 갖고 모여있는 집합을 의미한다. 다른 언어에서는 "배열(Array)"이라 불리는 구조와 비슷하며, 다음의 특징들을 가진다. 리스트의 원소들은 다양한 타입일 수 있다. 즉, 하나의 리스트에 정수와 문자열이 모두 원소로 들어갈 수 있다. 리스트는 크기가 고정되지 않는다. 원소를 추가/제거 혹은 변경하는 것이 가능하다. 리스트는 파이썬에서 가장 대표적이며, 기본적인 자료구조이다. 리스트의 특성을 이해하고 리스트를 다루는 방법에 익숙해지는 것은 매우 중요하며, 리스트를 잘 다룰 수 있도록 훈련하면 파이썬의 여러 장점들을 듬뿍 누릴 수 잇다. 리스트 만들기 리스트 리터럴 리스트는 콤마로 구분되는 일련의 값이나 변수들을 대괄호로 둘러싸는 것으로 만들 수 있다. [1..
파이썬이 실행되지 않을 때 (PATH 설정) 대부분의 파이썬 서적이나 여러 온라인 교재들은 최소 IDLE에서부터 Spyder 혹은 PyCharm에 이르기까지 IDE나 그에 준하는 개발 환경에서 코드를 작성하고 실행하는 방법들을 소개한다. 하지만 이렇게 편리한 툴들은 우리가 작성한 소스코드가 실제로 어떤식으로 실행되어 그 결과를 출력하는지에 대한 세부 과정을 숨겨버리기 때문에, 실제로 작고 유용한 코드를 작성했다 하더라도 이를 어떻게 활용해야 할지에 대해서 알고 있는 것이 더 중요하다 하겠다. 이 글에서는 이미 작성하여 저장해 놓은 파이썬 소스 코드를 어떻게 실행할 수 있는지, 그 방법에 대해 소개한다. 그리고 파이썬 해석기를 시스템 환경 변수 PATH에 등록하는 방법에 대해서도 알아보겠다. 명령줄이란 실..
과제의 시즌이 돌아왔나보다. 그리고 여느때보다도 네이버 지식즐에는 파이썬 관련 질문(이라 쓰고 숙제 대행이라 읽는다)이 넘쳐나듯 많아졌다. 오늘 눈에 많이 띈 문제는 정수를 입력받아서 한글 표기로 변환해주는 코드를 작성하는 것이었다. 예를 들어 2345라는 숫자를 주면 "이천삼백사십오"라고 변환해주는 것이다. 사실 간단한 문제다. 1. 일의 자리는 단위를 붙여읽지 않는다. 다만 일, 이, 삼, 사 .... 구 와 같이 숫자에 해당하는 글자가 온다. 2. 일의 자리가 0으로 끝나면 그 자리를 읽지 않는다. 이는 천, 백, 십의 자리에서도 마찬가지이다. 3. 십, 백, 천의 자리는 숫자를 읽은 글자와 단위 글자를 붙여준다. 입력된 수가 n 이라 할 때 다음과 같이 처리한다. 1. 현재처리중인 자리수를 나타내..
- Total
- Today
- Yesterday
- 단어 빈도수
- jupyter-notebook
- locals()
- 정렬기준
- 정렬키
- 우분투
- 이중리스트를 사용하지 않기
- mutability
- 사전
- ipython-notebook
- 튜플언패킹
- 파일입출력
- globals()
- 리스트
- short_circuit
- 파이썬노트북
- 변경가능
- Python
- python list
- leapYear
- 표준입력
- 반복자
- iterable
- 파이썬
- 복수기준정렬
- 리눅스
- 함수형
- Lambda
- dict
- sorted
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |