filter(함수, list) 리스트에서 특정 조건을 만족하는 원소를 추출할 때 쓰인다. a = [1, 2, 3, 4, 5, 6, 7] def isEvenNumber(x): return x % 2 == 0 print(list(filter(isEvenNumber, a))) [2, 4, 6] 굳이 함수를 만들지 않고 lambda를 사용해서 필터링할 수 있다. a = [1, 2, 3, 4, 5, 6, 7] print(list(filter(lambda x: x%2 == 0, a))) [2, 4, 6] list를 사용한 이유는 filter return type이 iterable이기 때문 Comprehension list의 comprehension을 사용하면 해당 list의 원소를 변환할 수 있다. a = [1, ..
lambda는 다양한 함수에서 쓸 수 있는데 sort에서만 쓰다가 map에서 쓰는 법도 기록하려고 한다! map(함수, 입력) map은 입력 리스트를 함수와 같게 바꿀 수 있으며 나는 보통 map(int, list)과 같은 형태로 입력값을 한 번에 int로 바꾸는 방법으로 주로 사용했다. 제곱 아래의 코드 함수 부분에 제곱식을 넣어 list의 값을 제곱수로 바꿀 수 있다. def calc(x): return x*x print(list(map(calc, range(1,6)))) [1, 4, 9, 16, 25] Lambda 위와 같이 함수를 넣어도 되지만 일회용으로만 사용할 함수의 경우 lambda로 작성하여 함수부분에 넣을 수 있다. print(list(map(lambda x: x*x, range(1,6)..
deque 스택은 후입선출, 큐는 선입선출의 특징을 가지고 있고 이는 deque를 이용하여 사용가능함 선언 from collections import deque a = [i for i in range(10)] a = deque(a) b = deque('hello python') print(a, b) deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) deque(['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n']) pop() 스택은 후입선출이기 때문에 마지막에 들어있는 데이터가 출력됨 from collections import deque a = [i for i in range(10)] a = deque(a) b = deque('hel..
Stack을 class로 구현해볼 것이다. 파이썬의 list의 메소드를 가지고도 stack 처럼 쓸 수 있음 설계 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty: 스택이 비어있으면 1, 아..
데이터 받기 dataset을 datasets으로 받아준다. train_dataset = datasets.MNIST(config.data_path, train=True, download=True, transform=config.augmentation ) 그러고 data Loader에 넣어주면 다음과 같이 data정보가 나온다. 60000장의 데이터를 500장으로 줄이는 작업을 할 것이다. 데이터 나누기 먼저 dataloader를 list로 만들어준다. 이렇게 하면 슬라이스 작업을 할 수 있다. a=list(train_loader) (20, 1, 64, 64) (2,) 3000 a는 64x64x1 이미지가 20(batch) 개 있고 그것에 대한 label 값을 합쳐서 3000개의 세트를 가지고 있음 trai..
슬라이스 Slices 파이썬의 배열은 [::]을 사용해서 배열을 변형할 수 있음 구조 기본적으로 arr [Start:End:Step]의 구조를 가지고 있음 각 파라이터에 값이 없다면 Start = 맨 처음, End = 끝, Step = 1로 볼 수 있음 예제 arr = list([1,2,3,4,5,6,7,8,9,10]) print(arr[::]) print(arr[2::]) print(arr[:9:]) print(arr[::2]) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] [3, 4, 5, 6, 7, 8, 9, 10] [1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 3, 5, 7, 9] 여기서 Start는 기존의 배열 index(0부터 시작하는 인덱스)로 쓰고 End는 Index+..
아스키코드 ASCII 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계 초창기 컴퓨터 제조사들의 문자 언어 코드가 달랐기에 호환성을 위해 표준 문자 기준을 정한 것 ord() 문자를 아스키코드로 변환하는 함수 print(ord('a')) print(ord('A')) 97 65 chr() 숫자를 아스키코드로 변환하는 함수 print(chr(97)) print(chr(65)) a A 아스키코드표를 참고하여 사용하면 될 것 같다.