python - 정규식을 이용한 문자열 검색
·
Language/python
파이썬은 정규 표현식을 지원하기 위해 re(regular expression의 약어) 모듈을 제공한다. re 모듈은 파이썬을 설치할 때 자동으로 설치되는 기본 라이브러리로 사용 방법은 다음과 같다. >>> import re >>> p = re.compile('ab*') re.compile을 사용하여 정규 표현식(위 예에서는 ab*)을 컴파일한다. re.compile의 결과로 돌려주는 객체 p(컴파일된 패턴 객체)를 사용하여 그 이후의 작업을 수행한다. Method 목적 match() 문자열의 처음부터 정규식과 매치되는지 조사한다. search() 문자열 전체를 검색하여 정규식과 매치되는지 조사한다. findall() 정규식과 매치되는 모든 문자열(substring)을 리스트로 돌려준다. finditer(..
python - regex(정규표현식)
·
Language/python
정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. 메타 문자란 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용하는 문자를 말한다. . ^ $ * + ? { } [ ] \ | ( ) 정규 표현식에 위 메타 문자를 사용하면 특별한 의미를 갖게 된다. 문자 클래스 [] 문자 클래스로 만들어진 정규식은 "[ ] 사이의 문자들과 매치"라는 의미를 갖는다. 정규 표현식이 [abc]라면 이 표현식의 의미는 "a, b, c 중 한 개의 문자와 매치"를 뜻한다. 이해를 돕기 위해 문자열 "a", "before", "dude"가 정규식 [abc]와 어떻게 매치되는지 살펴보자. "a"는 정규식과 일치하는 문자인 "a"가 있으므로 매치 "before"는 정규식과 일치하는 문자인..
python - string(2)
·
Language/python
문자열 관련 함수들 count: 개수 >>> a = "hobby" >>> a.count('b') 2 find: 문자를 통해 인덱스 위치 >>> a = "Python is the best choice" >>> a.find('b') 14 >>> a.find('k') -1 index: 인덱스 위치 >>> a = "Life is too short" >>> a.index('t') 8 >>> a.index('k') Traceback (most recent call last): File "", line 1, in ValueError: substring not found join: 문자열 사이에 해당문자를 삽입 >>> ",".join('abcd') #abcd 문자열의 각각의 문자 사이에 ','를 삽입한다. 'a,b,c..
python - string(1)
·
Language/python
문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다 . 백슬래시(\)를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기 >>> food = 'Python\'s favorite food is perl' >>> say = "\"Python is very easy.\" he says." \n 문자열 안에서 줄을 바꿀 때 사용 \t 문자열 사이에 탭 간격을 줄 때 사용 \\ 문자 \를 그대로 표현할 때 사용 \' 작은따옴표(')를 그대로 표현할 때 사용 \" 큰따옴표(")를 그대로 표현할 때 사용 \r 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동) \f 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동) \a 벨 소리(출력할 때 PC 스피커에서 '삑' 소..
python - lambda
·
Language/python
람다 형식은 인공지능 분야나 AutoCAD라는 설계 프로그램에서 쓰이는 Lisp 언어에서 물려받았다고 하는데요, 함수를 딱 한 줄만으로 만들게 해주는 훌륭한 녀석입니다. 사용할 때는 아래와 같이 써주면 됩니다. 다음은 두 수를 더하는 함수입니다. def hap(x, y): return x + y >>> hap(10, 20) 30 이것을 람다 형식으로는 어떻게 표현할까요? lambda 인자 : 표현식 >>> (lambda x,y: x + y)(10, 20) 30 정말 유용한 함수입니다. lambda of map map(함수, 리스트) >>> list(map(lambda x: x ** 2, range(5))) # python 2 및 python 3 [0, 1, 4, 9, 16] lambda of filter..
python - 내장함수
·
Language/python
abs: abs(x)는 어떤 숫자를 입력받았을 때, 그 숫자의 절댓값을 돌려주는 함수이다. >>> abs(3) 3 >>> abs(-3) 3 >>> abs(-1.2) 1.2 chr: chr(i)는 아스키(ASCII) 코드 값을 입력받아 그 코드에 해당하는 문자를 출력하는 함수이다. >>> chr(97) 'a' >>> chr(48) '0' divmod: divmod(a, b)는 2개의 숫자를 입력으로 받는다. 그리고 a를 b로 나눈 몫과 나머지를 튜플 형태로 돌려주는 함수이다. >>> divmod(7, 3) (2, 1) >>> 7 // 3 2 >>> 7 % 3 1 enumerate: 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다. >>> ..
python - set :집합
·
Language/python
set은 집합 자료형이다. 정해진 순서가 없고 중복을 허용하지 않기 때문이다. 그래서 set은 중복을 제거할때도 유용하게 이용된다. set: set의 추가, 다중추가, 제거: def solution(): a_set={1,2,3}#set의 기본적인 표현 {}를 사용한다. b_set=set([1,2,3,4])#set은 리스트를 바꿔어서 사용가능하다. c_set=set([1,1,1,2,2,2,3,3,3,4])#{1,2,3,4} c_set.add(5)#{1,2,3,4,5} c_set.update([6,7,8])#{1,2,3,4,5,6,7,8} c_set.remove(1)#{2,3,4,5,6,7,8} #[2, 3, 4, 5, 6, 7, 8] set은 순서가 없기 때문에 인덱스에 접근하려면 리스트로 변경해야한다. ..
python - append 그리고 extend
·
Language/python
파이썬 list 메소드에서 append()와 extend()의 차이점: def solution(): x = [1, 2, 3] x.append([4, 5]) #[1, 2, 3, [4, 5]] y = [1, 2, 3] y.extend([4, 5]) #[1, 2, 3, 4, 5] if __name__ == '__main__': solution() append(): object를 맨 뒤에 추가합니다. extend(): iterable 객체(리스트, 튜플, 딕셔너리 등)의 엘레멘트를 list에 appending시킵니다.