일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Java
- scrapy
- 선형대수
- C언어
- GRU
- HelloWorld
- LSTM
- NumPy
- 그래프이론
- python
- 파이썬
- 알고리즘
- graph
- 하이브
- hive
- Sort
- RNN
- hadoop2
- effective python
- 코딩더매트릭스
- 딥러닝
- tensorflow
- codingthematrix
- 텐서플로
- yarn
- 주식분석
- recursion
- 하둡2
- collections
- C
- Today
- Total
목록Python (57)
EXCELSIOR
Chap02 - 시퀀스 An array of sequences파이썬에서 제공하는 다양한 시퀀스를 이해하면 코드를 새로 구현할 필요가 없으며, 시퀀스의 공통 인터페이스를 따라 기존 혹은 향후에 구현될 시퀀스 자료형을 적절히 지원하고 활용할 수 있게 API를 정의할 수 있다. 2.1 내장 시퀀스 개요파이썬은 C로 구현된 다음과 같은 시퀀스들을 제공한다.컨테이너 시퀀스 : 서로 다른 자료형의 항목들을 담을 수 있는 list, tuple, collections.deque 형태균일 시퀀스 : 하나의 자료형만 담을 수 있는 str, bytes, memoryview, array.array 형태 컨테이너 시퀀스(container sequence)는 객체에 대한 참조를 담고 있으며 객체는 어떠한 자료형도 될 수 있다. ..
BETTER WAY 8 - 리스트 컴프리헨션에서 표현식을 두 개 넘게 쓰지 말자Item08 - Avoid More Than Two Expressions in List Comprehensions리스트 컴프리헨션은 기본 사용법(Better Way 7 참고) 뿐만 아니라 다중 루프도 지원한다.# matrix를 리스트 하나로 표현하기 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] flat = [x for row in matrix for x in row] # 왼쪽에서 오른쪽 순으로 실행 print(flat) [1, 2, 3, 4, 5, 6, 7, 8, 9] # matrix의 각 행(셀)의 제곱을 구하기 squared = [[x**2 for x in row] for row in mat..
BETTER WAY 7 - map과 filter 대신 리스트 컴프리헨션을 사용하자Item07 - Use List Comprehensions Instead of map and filterPython에서는 한 리스트에서 다른 리스트를 만들어내는 간결한 문법이 있다. 바로 리스트 컴프리헨션(list comprehension) 이라고 한다.12345678# List Comprehension을 이용해 루프를 돌면서 # 아래와 같이 계산이 가능하다.a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]squares = [x**2 for x in a]print(squares)'''출력결과[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]'''Colored by Color Scriptercs..
Chapter01 - 파이썬 데이터 모델데이터 모델은 일종의 프레임워크로서, 파이썬을 설명하는 것 이라고 할 수 있으며, 시퀀스(sequences), 반복자(iterators), 함수(functions), 클래스(class), 콘텍스트 관리자 등 언어 자체의 구성단위에 대한 인터페이스를 공식적으로 정의한다. 파이썬은 매직 메소드(특별 메소드, magic method) 를 호출해서 기본적인 객체 연산을 수행한다. 매직 메소드는 __getitem__() 처럼 이중 언더바를 가지고 있다. 예를 들어, obj[key]형태의 구문은 __getitem__() 매직 메소드가 지원한다. __getitem__()과 같은 메소드를 읽을때에는 던더(dunder) - getitem이라고 부르는 것을 선호한다고 한다. 던더는 ..
BETTER WAY 6 - 한 슬라이스에 start, end, stride를 함께 쓰지 말자Item06 - Avoid Using start, end, and stride in a Single Slice Python에는 기본 슬라이싱 Better Way 5 참고 뿐만 아니라 somelist[start:end:stride]처럼 슬라이스의 간격(stride)를 설정하는 문법도 있다. stride를 이용하면 시퀀스를 슬라이스 할 때 nn번째 아이템을 가져올 수 있다. 1234567891011# 예를 들어, 스트라이드를 이용하면 리스트에서 홀수와 짝수 인덱스를 쉽게 구분하여 가져올 수 있다.a = ['red', 'orange', 'yellow', 'green', 'blue', 'purple']odds = a[::..
BETTER WAY 5 - 시퀀스를 슬라이스하는 방법을 알자Item05 - Know How to Slice Sequences Python은 시퀀스를 슬라이스(slice: 자르기)해서 조각으로 만드는 문법을 제공한다.이렇게 슬라이스를 이용하면 시퀀스(sequence)의 부분집합(subset)에 접근할 수 있다.list, str, bytes에서 슬라이스를 이용할 수 있다.Slicing 문법은 somelist[start:end] 이며, start인덱스는 포함되고 end인덱스는 제외된다.1234567891011a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] print('First four:', a[:4])print('Last four:', a[-4:])print('Middle t..
BETTER WAY 4 - 복잡한 표현식 대신 헬퍼(Helper) 함수를 작성하자Item04 - Write Helper Functions Instead of Complex Expressions 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960# ex) URL에서 쿼리 문자열을 decode 하는 경우# - 각 쿼리 문자열 파라미터는 정수 값을 표현from urllib.parse import parse_qs # dictionary 형태로 반환my_values = parse_qs('red=5&blue=0&green=', keep_blank_values=True)..
BETTER WAY 03 - bytes, str, unicode의 차이점을 알자Item03 - Know the Differences Between bytes, str, and unicode Python3 에서는 bytes와 str 두 가지 타입으로 문자 시퀀스를 나타냄bytes 인스턴스는 로(raw) 8비트 값을 저장함str 인스턴스는 Unicode(유니코드, 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준) 문자를 저장함Unicode 문자를 Binary data(8-bit)로 표현하는 방법 중 가장 대표적인 인코딩은 UTF-8이 있음UTF-8: 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나이며, Universal Coded Character Set Transfo..