[python] reduce 함수
안녕하세요. TDR입니다. 오늘은 python에서의 reduce 함수에 대해서 정리해 보겠습니다. reduce 함수는 쉽게 설명하면, 반복 가능한 객체에 저장된 숫자(numeric)들을 받아서 모두 더한 값을 반환해주는 함수 입니다. reduce를 쓰지 않고 일반적인 방법으로 구현을 한다면 아래와 같은 형태가 됩니다. def accumulate(x, y): return x + y list_obj = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 값을 누적 시작 전의 초기값 설정 init_value = 1 res = init_value for i in list_obj: res = accumulate(res, i) print(res)# 46 위 코드를 reduce를 써서 변경을 하면 다음과 같..
2024. 2. 15.
[python] filter 함수
안녕하세요. TDR입니다. 오늘은 python에서의 filter 함수에 대해서 정리해 보겠습니다. filter 함수는 앞에서 알아본 map 함수와 유사한 형태를 가지지만 차이가 있다면, 입력한 반복 가능한 객체 값에 대한 수정을 하는 것이 아닌, 조건에 맞는 값만 결과로 걸러준다는 차이가 있습니다. (그래서 함수 이름이 filter인 듯 합니다.) 먼저, filter 함수를 쓰지 않고 일반적인 방법으로 구현한 형태를 보면 다음과 같습니다. input = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] output = [] # 매개 변수가 짝수인 경우 True return def is_even(n): if n % 2 == 0: return True else: return False # input ..
2024. 2. 14.
[VS] 양념 vs 다대기
안녕하세요. TDR입니다. 한국어 중에 비슷한 듯 하면서 미묘하게 다른 뜻을 가지고 있는 두 단어를 비교해 간단히 정리해보겠습니다. 아래 사전 정의의 출처는 "Naver 사전"입니다. 양념 음식의 맛을 돋우기 위하여 쓰는 재료를 통틀어 이르는 말. 기름, 깨소금, 파, 마늘, 간장, 된장, 소금, 설탕 따위를 이른다. 다대기 양념의 하나. 끓는 간장이나 소금물에 마늘, 생강 따위를 다져 넣고 고춧가루를 뿌려 끓인 다음, 기름을 쳐서 볶은 것으로, 얼큰한 맛을 내는 데 쓴다. 즉, 양념이 좀 더 포괄적인 의미를 가지고 있습니다. 일상 생활에서도 국밥이나 잔치국수 등에 넣는 것만 다대기라고 부르고 설탕, 소금과 같이 맛을 내기 위한 조미료는 양념이라고 부릅니다. 재밌는 것은 다대기의 어원인 일본어 다다키(た..
2024. 2. 8.
[python] for 반복문
안녕하세요. TDR입니다. 오늘은 어느 언어에서만 많이 쓰이는 for 반복문을 Java와 비교해서 python에서는 어떻게 사용하면 되는지 정리해 보겠습니다. #### python에서의 for문 구조 for in : #### 일반적인 반복문 ## Java for (int i = 0; i < 10; i++) { System.io.println(i); } ## python # 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 for i in range(10): print(i) #### 특정 값 만큼 증가 ## Java for (int i = 0; i < 10; i = i + 2) { System.io.println(i); } ## python # 0, 2, 4, 6, 8 for i in range(0, 1..
2024. 2. 2.
[python] map 함수
안녕하세요. TDR입니다. 오늘은 python에서의 map 함수에 대해서 정리해 보겠습니다. ## 기본 구조 # FUNCTION : 함수들 # ITERABLE_OBJECT : 반복 가능한 객체. e.g. list, string, tuple, etc... map_class = map(, ) ## Example 01 a = [1, 2, 3] b = map(str, a) # b = ['1', '2', '3'] ## Example 02 def square (x): return x*x a = [1, 2, 3, 4] b = list(map(square , a)) # b = [1, 4, 9, 16] ## Example 03 # 아래 for문과 동일 b = list(map(square , a)) # 위 map과 동일 ..
2024. 1. 25.
[python] Copy (Shallow vs Deep)
안녕하세요. TDR입니다. 오늘은 python에서의 copy(복사)에 대해 정리해 보겠습니다. import copy ori_object = [1, 2, [3, 4]] # 얕은 복사 01 cop_object = ori_object ori_object.append(6) # ori_object = [1, 2, [3, 4], 6] # cop_object = [1, 2, [3, 4], 5] # (약간) 얕은 복사 02 cop_object = ori_object[:] ori_object.append(6) # ori_object = [1, 2, [3, 4], 6] # cop_object = [1, 2, [3, 4]] ori_object[2].append(5) # ori_object = [1, 2, [3, 4, 5],..
2024. 1. 19.