본문 바로가기
반응형

개인공부/Python4

[Python] 정규표현식 완전정복! * Regular Expression HOWTO를 참고하여 작성되었습니다. 정규표현식이란? 정규표현식(정규식)은 복잡한 문자열 처리를 위해 사용되는 기법으로 특정 문자열 내에서 내가 찾고자 하는 패턴을 쉽게 찾을 수 있도록 도와준다. 정규표현식은 파이썬만을 위해서 개발된 것은 아니고, 문자열 처리를 하는 모든 곳에서 사용될 수 있다. 파이썬에서는 re 모듈을 이용해서 정규표현식을 활용할 수 있다. import re 정규표현식 사용하기 1. 정규표현식 컴파일 정규표현식을 사용하기 위해서는 제일 먼저 내가 찾고자 하는 정규식 패턴을 정규식 패턴 객체( 클래스 객체)로 변환하는 과정이 필요하고 이것이 정규표현식 컴파일이다. 예를 들어 "한국 주식에 투자하는 게 미국 주식에 투자하는 것보다 낫다."라는 문장에서.. 2020. 12. 7.
[Python] heapq 모듈 사용법 Python에서는 heap 자료구조를 쉽게 구현할 수 있도록 도와주는 내장 heapq 모듈이 존재한다. heap을 직접 구현하는 것보다 훨씬 편리하고 내장되어 있는 모듈이기에 코딩 테스트를 위해서 사용법을 알아두는 것이 도움이 될 것이다. heapq import heapq 여기서 중요한 점은 Python에서 heap은 list 기반으로 동작하고, heap의 root가 가장 작은 값을 가지는 최소 힙(min-heap)이다. heapq.heappush heap에 값을 넣으려면 heappush 메서드를 사용한다. 첫 번째 인수는 heap으로 사용될 list가 들어가고 두 번째 인수로는 넣고자 하는 값이 들어간다. import heapq heap = [] # heap.heappush(list, item) hea.. 2020. 10. 30.
[Python] Input vs. sys.stdin.readline 차이점? Python으로 백준 문제를 풀 때 내장 함수 input()으로 입력을 받으면 시간 초과로 오답처리가 되고, sys 모듈의sys.stdin.readline()으로 입력을 받으면 시간 안에 채점이 되는 경우가 자주 발생한다. 왜 그런지 한 번 알아보자. Python 2.x 일단 Python 2.x 버전에서는 사용자 입력을 처리하기 위한 내장 함수로 input()과 raw_input()이 있다. 이 둘의 차이점은 raw_input()은 입력 값을 무조건 문자열로 받는 반면, input()은 입력으로 들어온 값을 evaluate 해서 그 값에 맞는 자료형으로 초기화한다. 아래 예를 보면 숫자 10을 입력했을 때는 integer type이지만, "python"을 입력했을 때는 string type으로 결과가 나.. 2020. 10. 2.
[Python] Mutable vs. Immutable 차이점? Python을 가지고 재귀 함수를 연습하다가 결과 값이 예상 밖으로 나왔고, 왜 그런 현상이 나왔는지 분석해보았다. 결론적으로 Python에서 변수는 2가지 종류가 있는데 하나는 변할 수 있는 Mutable 변수이고 나머지 하나는 변할 수 없는 Immutable 변수이기 때문이다. def recursive(a, value): a.append(value) if value == 5: print(a) return recursive(a, value + 1) print(a) recursive([], 1) 위와 같은 함수를 구현했을 때 결과 값은 아래와 같이 나온다. # 결과 값 [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] [1, 2, 3, 4, 5] [1, 2, 3, 4,.. 2020. 9. 29.
반응형