본문 바로가기

Python37

파이썬 정규표현식 정규표현식 정규 표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다. 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있으며, 특히 펄과 Tcl은 언어 자체에 강력한 정규 표현식을 구현하고 있다. 컴퓨터 과학의 정규 언어로부터 유래하였으나 구현체에 따라서 정규 언어보다 더 넓은 언어를 표현할 수 있는 경우도 있으며, 심지어 정규 표현식 자체의 문법도 여러 가지 존재하고 있다. 현재 많은 프로그래밍 언어, 텍스트 처리 프로그램, 고급 텍스트 편집기 등이 정규 표현식 기능을 제공한다. 출처 : https://ko.wikipedia.org/wiki/정규_표현식 정규 표현식 예시 먼저 아래와 같은 조건을 이용하여 정규표현식을 생성하겠습니.. 2020. 9. 8.
DOM 구조 트리 이동 DOM 구조 트리 이동 먼저 다음과 같은 홈페이지(http://www.pythonscraping.com/pages/page3.html)는 아래와 같은 HTML 트리 구조로 나타낼 수 있습니다. html body div.wrapper h1 div.content table#giftList tr th th th th tr.gift#gift1 td td span.excitingNote td td Img 많은 테이블 행들 div.footer 자식과 자손 먼저 tr 태그는 table태그의 자식이며 tr과 th, td, img, span모두 table 태그의 자손입니다. 자식은 부모보다 한태그 아래있고 자손은 조상보다 몇 단계든 아래에 있을 수 있습니다. 또한 모든 자식은 자손이 될 수 있지만, 모든 자손은 자식이 .. 2020. 9. 8.
find( ), findAll( ) find() 와 findAll() findAll(tag, attributes, recursive, text, limit, keyword) tag, attributes .findAll("태그명", "dict형식의 속성") recursive recursive가 True이면 findAll 함수는 매개변수에 일치하는 태그를 찾아 자식, 자식의 자식까지 검색합니다. recursive가 False이면 findAll 함수는 문서의 최상위 태그만 찾습니다. 기본값은 recursive가 True입니다. text text는 태그의 속성이 아니라 텍스트 콘텐츠가 일치하는 값을 찾습니다. 예를 들면 예시 페이지에서 text가 "the prince"라는 단어가 몇번 나왔는지 확인하려면 nameList = bsObj.findAl.. 2020. 9. 8.
코테를 위한 isㅇㅇㅇ 메소드 코테를 위한 Python isㅇㅇㅇ메소드 파이썬 isㅇㅇㅇ메소드 파이썬 isㅇㅇㅇ 메소드는 해당 item이 문자열, 숫자, 소문자, 제목등 다양한 값들이 맞는지 True, Flase를 반환해주는 메소드 입니다. 다음 나오는 메소드들은 전부 코딩 테스트를 볼때 알면 좋은 메소드입니다. isalnum( ) isalnum( )은 문자와 숫자의 문자열을 탐지하는 메소드 입니다. 사용 예시는 다음과 같습니다. s = "helhleo123" if s.isalnum(): print("참") else: print("거짓") ### 출력 값 # 참 isalpha( ) isalpha( )는 오직 문자인지 확인하는 메소드 입니다. s = "helhleo123" if s.isalpha(): print("참") else: pr.. 2020. 8. 10.
Python list 연산에 따른 시간 복잡도 python list 연산에 따른 시간 복잡도 시간 복잡도가 O(1)인 연산 len(a) len(a)는 리스트 전체 요소의 개수를 리턴합니다. 사용 예시는 다음과 같습니다. a = [1,2,3,4,5] print(len(a)) ## 출력값 # 5 a[i] a[i]는 리스트중에서 해당 인덱스에 해당하는 값을 가져옵니다. a = [1,2,3,4,5] print(a[3]) ## 출력 값 # 4 a.append(x) a.append(x)는 해당 리스트 맨뒤에 x를 추가해 줍니다. a = [1,2,3] print(a) a.append(4) print(a) ## 출력 값 # [1,2,3] # [1,2,3,4] a.pop() a.pop()는 해당 리스트 맨 뒤에 있는 값을 pop 해줍니다. (스택의 연산 pop) a.. 2020. 8. 9.
분할정복 분할 정복 분할 정복이란 커다란 문제를 작은 부분 부분으로 나누어서 해결하는 방법입니다. 분할 정복의 전략은 재귀적 알고리즘을 사용하여 해결할 수 있습니다. 먼저 분할 정복을 하기 위해서는 두 가지 단계를 거칩니다. 기본 단계를 해결합니다. 이 부분은 가능한 한 간단한 문제여야 합니다. 문제가 기본 단계가 될 때까지 나누거나 작게 만들어야 합니다. 이것을 프로그래밍으로 표현하자면 다음과 같이 표현할 수 있습니다. function F(x): if F(x)가 간단 then: return F(x)를 계산한 값 else: x 를 x1, x2로 분할 F(x1)과 F(x2)를 호출 return F(x1), F(x2)로 F(x)를 구한 값 분할 정복 예시 코드 분할 정복 간단코드 (더하기) 분할 정복을 쉽게 이해하기.. 2020. 8. 6.