본문 바로가기

분류 전체보기142

3. python, enumerate 활용하기 list와 관련된 for문 중 반복되는 횟수를 알고 싶을 경우, enumerate 함수를 활용하면 됩니다. enumerate 함수는 빠르다는 강력한 장점이 있습니다. ex) list1 = list(range(10, 100)) for i in range(len(list1)): print(i, list1[i]) # enumerate를 활용하지 않는 경우 위와 같은 경우는 enumerate를 활용하지 않는 경우이며, 속도가 느리다는 단점이 있습니다. list1 = list(range(10, 100)) for idx, i in enumerate(list1): print(idx, i) # enumerate를 활용한 경우 enumerate를 활용할 경우, 코드도 짧아지고 실행 속도도 빨라집니다. 2021. 1. 13.
2. Python에서 List Comprehension 일반적으로 사용하는 for문은 속도가 느리고 비효율적입니다. 그 이유는 C스타일이기 때문이며, 파이썬과는 살짝 맞지 않는 구석이 있습니다. 따라서 List Comprehension을 자주 활용하는 것이 좋습니다. ex) num = list(range(10)) result = [] for i in num: result.append(i) print(result) # for문 활용함 이렇게 for문을 활용하는 것 보다는, num = list(range(10)) result = [i for i in num] print(result) # List Comprehension 활용 List Comprehension을 활용하는 것이 코드도 짧아지며, 속도가 더 빠릅니다. 이를 활용하면 구구단 리스트도 간단하게 만들어 볼.. 2021. 1. 13.
1. python 작은 팁 모음! (추가 예정) 개요 이 게시물에서는 python에서 활용할 수 있는 작은 팁들을 모을 것입니다. 비중있게 다룰 팁은 게시물을 별도로 작성할 것이며, 사소한 팁은 이 게시물에 작성할 것입니다. 팁 모음 1. 파이썬에서 내가 생각하는 것은 누군가가 다 해놓았다! 2. ctrl + / 로 주석 처리 가능 3. +, -, = 등은 대부분 띄어서 표기, *와 /, 괄호, 괄호 안의 내용은 띄어쓰기 안하는 것을 권장 4. 파이썬에서는 while문 보다는 for문이 더 빠름 5. for문 다음에 else문이 나올 수도 있음 6. python에서는 입출력 방식을 빠르게 하기 위한 방법이 있다 input 대신 sys.stdin.readline() 사용하면 더 빨라지며, 이때는 맨 끝 개행문자까지 입력받기 때문에, rstrip()을 추.. 2021. 1. 13.
1. Docker란? 개요 이번 게시물에서는 네트워크 설정과 웹에서 강력한 기능을 발휘할 수 있는 docker에 대해 간략하게 설명하겠습니다. 목차 1. docker란? 2. docker hub과 이미지 3. 간단한 웹 서버 만들어 보기 1. docker란? Microsoft 공식 사이트에 따르면, "Docker는 클라우드 또는 온-프레미스로 실행될 수 있는 이식 가능하고 문제를 스스로 해결할 수 있는 컨테이너로서 애플리케이션 배포를 자동화하기 위한 오픈 소스 프로젝트입니다"라고 서술되어 있습니다. 2. docker hub과 이미지 git은 오픈 커뮤니티로 github과 gitlab가 있듯이, docker는 오픈 커뮤니티로 docker hub를 꼽을 수 있습니다. Docker hub는 docker에서 핵심적인 여러 설정들의 .. 2021. 1. 9.
4. vi 편집기 개요 git을 사용하던 중, git bash안에서도 코드를 편집하고, 실행시켜 볼 수 있다는 사실을 알게 되었습니다. 이는 리눅스 터미널과 관련된 내용이지만, git에서도 사용하므로 활용할 수 있는 간단한 명령어만 담은 게시글을 올리게 되었습니다. 목차 1. vi 편집기란? 2. vi 조작 명령어 3. 추가 명령어 1. vi 편집기란? vi 에디터는 리눅스에서 주로 사용하는 텍스트 편집기로서, git bash에서도 사용이 가능합니다. vi 에디터는 크게 명령모드와 입력모드로 나뉘게 됩니다. vi [파일 명] : 현재 디렉토리에 있는 코드를 vi 편집기로 열게 됨 2. vi 조작 명령어 앞에서도 말했듯이 vi 편집기는 명령모드와 입력모드가 있습니다. 처음 vi편집기로 들어갔을 경우, 명령모드로 실행되게 됩.. 2021. 1. 9.
4.머신러닝의 종류, 강화학습(Reinforcement Learning) 개요 머신러닝을 크게 3가지로 나누었을 때, 그 마지막 순서인 강화학습(Reinforcement Learning)에 대해서 알아보겠습니다. 목차 1. 강화학습(Reinforcement Learning), 상태(State), 행동(Action), 보상(Reward) 2. 강화학습 알고리즘 1. 강화학습, 상태, 행동, 보상 강화학습(Reinforcement Learning)은 머신이 임의적으로 주어진 환경 속에서 행동해야 하는 수칙을 학습시키는 것이라고 할 수 있습니다. 이런 강화학습의 궁극적인 목표는 환경과 상호작용할 수 있는 Agent를 학습시키는 것 입니다. 이 Agent는 여러 특정 상활들이라 불리는 상태(State)에 맞닿았을 때, 여러가지 행동할 수 있는 행동(Action)을 취하면서 학습해 나.. 2021. 1. 7.
3. 머신러닝의 종류, 비지도학습(Unsupervised Learning) 개요 머신러닝의 종류 중 비지도학습이 존재합니다. 이번 개시물에서는 비지도학습이 무엇인지 간략하게 알아보고, 알고리즘의 몇몇 종류에 대해서 알아보겠습니다. 목차 1. 비지도학습(Unsupervised Learning) 1-1. 클러스터링(Clustering) 1-2. 데이터 압축(Dimensionality reduction) 1. 비지도학습(Unsupervised Learning) 비지도학습(Unsupervised Learning)은 라벨화 되어있지 않는 데이터들을 여러 특징에 의해 군집화 하는 것으로, 여러 종류가 있으며 그중에 비슷한 연관성을 지닌 것들 끼리 묶어서 나타내는 것을 클러스터링(Clustering)이라고 하며, 다차원의 데이터를 저차원의 데이터로 축소하는 데이터 압축(Dimensional.. 2021. 1. 7.
2. 머신러닝의 종류, 지도학습(Supervised Learning) 개요 머신러닝은 크게 지도학습, 비지도학습, 강화학습으로 나눌 수 있습니다. 이번 게시물에서는 지도학습에 대해, 다음 게시물에서는 비지도학습, 강화학습을 차례대로 확인해 볼 것 입니다. 목차 1. 지도학습(Supervised Learning) 1-1. 데이터 분류(Classification) 1-2. 회귀(Regression) 1. 지도학습(Supervised Learning) 각각의 머신러닝의 종류마다 구현할 수 있는 다양한 알고리즘들이 있습니다. 우선 지도학습(Supervised Learning)은 크게 데이터 분류(Classification)과 회귀(Regression)으로 나눌 수 있습니다. 1-1. 데이터 분류(Classification) 분류(Classification)는 데이터를 특정한 라벨.. 2021. 1. 7.