목록프로그래밍/Python (11)
코딩하는 문과생
Django RestAPI에서는 Serializer를 이용해서 데이터 구조를 데이터 스트림 형태로 만든다. 즉, 다른 환경(ex. React.js, Vue.js)과 데이터를 주고 받으려면 동일한 데이터 구조를 가져야한다. 제각기 다른 언어를 사용한다면 데이터 송신이 불가능할 것이다. 파이썬만 하는 게 아니라 C, JAVA 등 많은 언어들이 이를 지원한다. 직렬화: 데이터 구조->데이터 스트림(바이트화) 반직렬화: 데이터 스트림->데이터 구조를 추출
str.split(seq=none, maxsplit=-1) split 함수의 기본형이다. 첫번째 매개변수는 구분자, 두번째 매개변수는 몇 개로 구분할 것인가 를 뜻한다. 아래 문제는 해당 개념을 정리하기 위해 풀었던 알고리즘 문제의 해답이다. def solution(s): tmp= s.split(' ') max_value = max(map(int, tmp)) min_value = min(map(int, tmp)) answer = str(min_value) + " " + str(max_value) return answer
입력값이 숫자로 구성된 값인지 문자가 포함된 값인지 판별하는 문제가 제출되었다. 입력값 : 길이가 4 또는 6으로 구성된 문자 또는 숫자로 구성된 값 출력해야할 값: 입력값이 숫자로만 구성되어있는가 여부 내가 작성한 코드는 다음과 같다. def solution(s): if len(s) == 6 or len(s) == 4: if s.isnumeric() == True: return True return False 거두절미하고 예시를 보는게 아마 좋을 듯하다. ('½').isnumeric >>>True ('½').isdecimal >>>False ('½').isdigit >>>False ('³').isnumeric >>>True ('³').isdecimal >>>False ('³').isdigit >>>True
def reduce(function, iterable, initializer=None): reduce함수의 매개변수에는 첫번째로는 실행할 함수, 두번째는 실행할 함수에 입력될 값들, 세번째는 초기값이 들어간다. 단, 세번째 값은 선택이다. 이름이 없는 함수(익명함수)에 for문을 사용해 여러 값을 입력해야할 때 사용된다. reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) # 15 # ((((1 + 2) +3) +4) +5) reduce(lambda x, y: x+y, [1, 2, 3, 4, 5], 10) # 25 # (((((10 + 1) + 2) + 3) + 4) + 5) 위와 아래 모두 값은 결과값을 가진다. print( reduce(lambda x, y: x+y, [1, 2..