목록파이썬 (149)
차밍이
zip함수를 사용하면 여러 그룹의 데이터를 묶어서 출력해줄 수 있습니다. zip 함수 zip()함수는 iterable 객체를 인자로 받아서 사용합니다. 여러 개의 iterable객체를 받은 후 자료형 들을 묶어서 튜플 형태로 출력해줍니다. # zip(*iterable) : 동일한 개수로 이루어진 자료형을 묶어 줌 a = ['one', 'two', 'three'] b = ['a', 'b', 'c'] list(zip(a, b)) >>> [('one', 'a'), ('two', 'b'), ('three', 'c')] a라는 리스트와 b라는 리스트의 값들이 index 순서에 따라서 묶어진 것을 확인할 수 있습니다. # 두 리스트의 요소 끄집어내기 # zip 함수 사용한 방법 for val1, val2 in zi..
enumerate함수를 사용하면 리스트의 요소와 인덱스를 같이 가져올 수 있다. a = ['one', 'two', 'three'] list(enumerate(a)) >>>[(0, 'one'), (1, 'two'), (2, 'three')] enumerate를 사용하면 순서를 0번부터 붙여주는 것을 확인할 수 있습니다. enumerate에서 값을 튜플 형식으로 인덱스 값과 리스트의 변수 값을 가져오는 것을 확인할 수 있습니다. # 리스트의 요소와 인덱스를 가져오기 a = ['one', 'two', 'three'] for index in range(len(a)): print(index, a[index]) >>> 0 one 1 two 2 three # enumerate 함수를 사용한 방법 a = ['one',..
목차 1. PyInstaller 설치하기 다른 라이브러리들을 설치하는 것과 동일하게 pip 명령어를 활용해서 pyinstaller를 설치해 줍니다. pip install pyinstaller 2. PyInstaller 사용방법 # Options pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME] # 일반적인 사용 pyinstaller {파이썬 파일 - 경로포함} # 콘솔창 보이지 않도록 설정하기 / 셋 다 동일 pyinstaller {파이썬 파일} -w pyinstaller {파이썬 파일} --windowed pyinstaller {파이썬 파일} --noconsole # 단일 파일로 만들기 / 무조건 쓰기 아니면 지저분함 pyinstaller {파이썬..
목차 파이썬 셀레니움을 사용해서 직접 자동 출석체크하는 프로그램을 만들어보겠습니다. 셀레니움 설치와 크롬드라이버 설치를 아직 진행하지 않으셨다면 이전 글을 참고해주세요. [파이썬] Selenium 셀레니움 설치하기 / 크롬 드라이버 설치하기 [파이썬] Selenium 셀레니움 설치하기 / 크롬 드라이버 설치하기 목차 1. Python Selenium 설치하기 다른 라이브러리를 설치하는 것과 동일합니다. pip 또는 conda 명령어를 사용해서 설치해주세요. pip install selenium conda install selenium 2. Chrome Driver 설치하기 Sele.. chancoding.tistory.com 1. 셀레니움 웹드라이버 제어 a. 기본 선언 import selenium fr..
목차 1. Python Selenium 설치하기 다른 라이브러리를 설치하는 것과 동일합니다. pip 또는 conda 명령어를 사용해서 설치해주세요. pip install selenium conda install selenium 2. Chrome Driver 설치하기 Selenium을 사용해서 웹 자동화를 위해 크롬 웹 드라이버를 설치해야합니다. 2.1. 크롬 버전 확인하기 크롬을 실행한 후 오른쪽 위에 점 3개 -> 도움말 -> Chrome 정버를 선택합니다. 그러면 크롬 버전을 바로 확인할 수 있습니다. 저는 90.0.4430.72 버전을 사용하고 있는 것을 확인할 수 있습니다. 2.2. 크롬 드라이버 다운로드 ChromeDriver - WebDriver for Chrome 이라는 사이트에 들어가서 D..
목차 1. a-ha.io 는 무엇인가? 쉽게 애기하면 네이버 지식인과 동일하다 생각하면 됩니다. 궁금한 것을 각 분야의 전문가들에게 질문하고 답변을 받습니다. 질문에 답변을 하려면 해당 분야의 전문가임을 인증해야합니다. 이러한 질문과 답변을 블록체인에 담아 사라지지 않고 네트워크상에 계속 기록될 수 있도록 하는 서비스입니다. 2. AHT 코인을 어떻게 얻을 수 있는가 아하 코인을 얻는 방법은 해당 A-ha의 지식 서비스를 활성화하면 얻을 수 있습니다. 하루에 발행되는 아하코인은 25,000개 이것을 질문 or 답변 등의 다양한 활동을 통해 얻는 점수를 바탕으로 회원들이 나누어 가지게 됩니다. 3. 자동 출석 체크 A-ha 서비스를 활성화시키기 위해서 자체적으로 출석체크를 하면 보상으로 아하코인을 지급합니..
1. 정의 재귀 용법을 활용한 정렬 알고리즘 리스트를 절반으로 잘라 비슷한 크기의 두 부분 리스트로 나눈다. 각 부분 리스트를 재귀적으로 합병 정렬을 이용해 정렬한다. 두 부분 리스트를 다시 하나의 정렬된 리스트로 합병한다. 2. 알고리즘 이해 이해를 돕기위한 예시 쪼개는 단계 [1, 9, 3, 2] > [1, 9] , [3, 2] > [1], [9], [3], [2] 더 이상 쪼갤 수 없으면 합병을 진행 작은 데이터를 앞에 큰 데이터를 뒤로 가도록 병합한다. [1], [9], [3], [2] > [1, 9], [2, 3] > [1, 2, 3, 9] 왼쪽 index 번호와, 오른쪽 index 번호를 활용해서 값을 비교해서 넣어가는 방식으로 진행하면 된다. 3. 코드 작성 데이터를 나누는 부분 & 데이터를..
목차 1. 퀵 정렬 (Quick Sort) 이란? 정렬 알고리즘의 꽃 기준점(pivot이라 부름)을 정해서, 기준점보다 작은 데이터는 왼쪽, 크면 오른쪽으로 모으는 함수를 작성한다. 왼쪽과 오른쪽은 재귀 용법을 사용해서 다시 동일 함수를 호출하여 위 작업을 반복한다. 함수는 왼쪽 + pivot + 오른쪽 을 출력한다. 분할 정복에 속하는 정렬이라고 할 수 있다. 2. 퀵 정렬 코드 작성 소스코드 data_list = [49, 97, 53, 5, 33, 65, 62, 51] def quick_sort(num_list): if len(num_list) >> [5, 33, 49, 51, 53, 62, 65, 97] 알고리즘 구현 및 풀이 quicksort 함수 만들기 만약 리스트 개수가 한 개이면 해당 리스트..
목차 1. 정의 동적계획법(Dynamic Programming) "DP"라고 많이 부름 큰 문제를 해결하기 위해, 작은 문제를 부분 부분 해결하여 저장해놓고 사용한다. 상향식 접근법으로 가장 최하위 해답을 구한 후, 이를 저장하고, 해당 결과를 이용해서 상위 문제를 해결한다. Memoization 기법을 사용한다. 문제를 잘게 쪼갤 때, 부분 문제는 중복되어, 재활용된다. ex) 피보나치 수열 분할 정복(Divide and Conquer) 문제를 나눌 수 없을 때까지 나누어서 각각 문제를 풀면서 다시 합병하여 문제의 해답을 찾는다. 다시 합병한다. 하양식 접근법, 상위의 해답을 구하기 위해, 아래로 내려가면서 하위의 해답을 구하는 방식 일반적으로 재귀 함수로 구현 문제를 잘게 쪼갤 때, 부분 문제는 서로..
1. 선택 정렬 이란? 주어진 데이터 중, 최솟값을 찾는다. 해당 최소값을 가장 맨 앞의 데이터의 위차와 교체한다. 맨 앞의 최소값 데이터를 제외한 나머지 데이터를 대상으로 동일한 방법을 반복한다. 2. 예제 코드 import random data_list = random.sample(range(100), 10) print(data_list, end="\n\n") for i in range(len(data_list)-1): index = i for j in range(len(data_list)-i): if data_list[index] > data_list[j+i]: index = j+i data_list[index], data_list[i] = data_list[i], data_list[index] p..