Python
-
[파이썬/Python] 파이썬 데크/덱 (deque) 자료구조 알아보기Python 2021. 6. 22. 22:31
이번에는 파이썬으로 알고리즘 문제를 풀면서 많이 접하는 자료구조인 deque를 알아 보겠다. 데크(deque)란? 큐를 양방향으로 쓸 수 있게 만든 자료구조 양 끝 엘리먼트에 대해서 append와 pop이 가능하다 스택과 큐를 동시에 사용이 가능 아직 스택과 큐를 모른다면 아래 링크를 참고!! 2021.05.27 - [Data Structure/Stack] - [자료구조/Data Structure] 파이썬으로 스택(Stack) 자료구조 알아보기 [자료구조/Data Structure] 파이썬으로 스택(Stack) 자료구조 알아보기 스택의 개념 한 쪽에서만 데이터의 삽입 및 삭제가 가능한 LIFO (Last In First Out) 또는 FILO (First In Last Out) 자료구조 스택의 동작구조 ..
-
[파이썬/Python] 파이썬의 정렬 방법들 (python sort)Python 2021. 6. 12. 12:43
기본으로 내장된 파이썬 정렬 함수들을 알아보자. 1. sorted() l = [2, 5, 1, 7, 9] print(sorted(l)) #[1, 2, 5, 7, 9] print(l) #[2, 5, 1, 7, 9] 코드를 보다시피 정렬된 리스트를 리턴하는 것이지 리스트 자체가 정렬되는 것은 아니다. 2. sorted(), key chars = ['aaa', 'bb', 'c'] print(sorted(chars, key=len)) #['c', 'bb', 'aaa'] 위와 같이 sorted()함수에 두번째 파라미터로 함수를 줄 수 있고 그 함수 기준으로 정렬을 할 수 있다. 함수 len()에 의해서 리스트 각 요소에 길이가 구해질 것이고 길이 수에 맞게 오름차순으로 정렬됐다. 3. sorted(), funct..
-
[파이썬/Python] 파이썬으로 크롤링하기Python 2021. 6. 11. 10:39
파이썬으로 크롤링을 하는 것이 굉장히 쉽다고 알고 있어서 도대체 얼마나 쉽지? 라는 생각에 파이썬으로 크롤링을 해봤다. 목표 파이썬으로 크롤링하기 플라스크(Flask) 활용하기 크롤링한 데이터를 JSON으로 리턴하는 API 만들기 -> (플라스크 활용) 크롤링 대상 페이지 http://ncov.mohw.go.kr/bdBoardList_Real.do?brdId=1&brdGubun=13&ncvContSeq=&contSeq=&board_id=&gubun= 위의 페이지는 코로나 시도별 발생동향을 알려주는 페이지다. 1. 모듈 import from flask import Blueprint from bs4 import BeautifulSoup import json import requests 일단 필요한 모듈들을 ..
-
[파이썬/Python] 파이썬 for문 index, value 동시에 접근 하기Python 2021. 6. 7. 15:57
다른 언어도 마찬가지지만 for문을 사용하면서 list에 index와 value가 동시에 필요한 경우가 있다.. 파이썬으로는 다양한 방법이 있는데 우선 이런 방법이 있다. range() 함수를 쓰는 방법 array = [10, 20, 30] for i in range(len(array)): print(i, array[i]) ''' 결과 : 0 10 1 20 2 30 ''' 하지만 뭔가 파이썬스럽지 못하다.. 좀 더 이쁜 코드를 보자면 enumerate() 함수를 쓰는 방법 array = [10, 20, 30] for index, value in enumerate(array): print(index, value) ''' 결과 : 0 10 1 20 2 30 ''' enumerate()는 '열거하다' 라는 뜻..
-
[파이썬/Python] 파이썬의 접근 제어자 (private)Python 2021. 6. 3. 18:57
파이썬으로 자료구조를 구현하면서 궁금한 점이 생겼다. 파이썬에도 자바처럼 접근제어자가 있을까? 결론부터 말하자면 클래스를 선언할 때 변수 또는 함수명 앞에 '_' (언더스코어)를 두개 붙여서 네이밍을 해주기만 하면 된다. 예를 들어 이런 클래스가 있다고 해보자 class Person(): def __init__(self, name, age): self.name = name self.age = age def changeName(self, name): self.name = name def printInfo(self): print(self.name, self.age) 보면 바로 이해가 되겠지만 인스턴스를 생성할 때 이름과 나이를 입력받고 이름을 변경하고 싶으면 changeName 함수를 통해 변경하라고 의도가..