Python - 정규표현식 { }
{ }는 앞선 문자의 반복을 의미한다. 예로, a{3} : a가 세번 반복, 즉 aaa 가 나타날 때 match된다. a{2, 5}는 최소 2회에서 5회까지 반복되어야 함을 의미한다. (aa~aaaaa 까지 가능) a{1, }는 a에서 무한대까지 반복될 수 있음을 의미. (= a+) a{0, }는 a가 나타나지 않는 것부터, 무한대까지 반복될 수 있음을 의미. (= a*) ex ) do{2,4}g : d 다음에 o가 최소 2번, 최대 4번까지 나올 수 있다는 의미 print(re.match('do{2,4}g', 'dog')) # None print(re.match('do{2,4}g', 'doog')) # match = 'doog' print(re.match('a{3}', 'aaabbbccc')) # ma..
2019. 11. 4.
Python - 정규표현식 메타문자 []
메타문자 [ ](대괄호, square bracket)를 활용한 정규식. 대괄호 안에 어떤 문자도 올 수 있으며, 대괄호 안에 들어간 문자열 중 한 개의 문자만 만족해도 매치된다. 예로, re.match("[abcdef]", "a")는 "a" 가 매치되고, re.match("[abcdef]", "all") 역시 "a"가 매치되는 결과를 나타낸다. 아래는 여러가지의 예시. print(re.match("[abcdef]","a")) # 결과: print(re.match("[abcdef]","sky")) # 결과: None print(re.match("[abcdef]","all")) # 결과: print(re.match("[abcdef]","allall")) # 결과: print(re.match("[abcdef]..
2019. 11. 4.
Python - n개의 리스트의 항목을 같은 인덱스끼리 묶기
2개 이상의 리스트에서, 같은 인덱스에 해당하는 값끼리 다시 묶어서 출력하고자 할 수 있다. 이럴 때에 zip 함수를 활용! zip(리스트1, 리스트2, 리스트3... ) 인자를 넣어준 후 list로 다시 묶으면 된다. 활용 예. list(zip([1,2],[3,4],[5,6])) # 같은 인덱스끼리 묶어주기 # 결과: [(1, 3, 5), (2, 4, 6)]
2019. 11. 4.
Python - filter 함수
리스트에서 특정 조건을 만족하는 항목만 골라서 출력할 때, filter 함수를 활용할 수 있다. 먼저 0보다 큰 항목인지를 검토하는 함수를 정의해준다. def pnum(data): return data>0 함수에 1이라는 인수를 대입하면 True라고 출력되지만, [1, 2, 0, 5]라는 리스트를 대입하면 오류가 발생한다. pnum(1) #결과값: True pnum # TypeError : '>' not supported between instances of 'list' and 'int' filter 함수를 활용하면 해결할 수 있다. 필터함수는 filter(함수명, 인수) 형태로 활용 예는 아래. list(filter(pnum, [4,6,-5,-7,0])) # 결과: [4, 6]
2019. 11. 4.
Python - enumerate()
enumerate 함수는 반복가능한 자료를 전달받아 index와 값을 함께 출력할 때 유용함. a라는 배열에 다음과 같은 값이 있고, 항목을 일반적으로 출력할 때 다음과 같다. a = ['bye','my','blue'] for i in a: print(i) # 결과: bye my blue 결과값은 bye, my, blue가 세 줄에 걸쳐 출력됨. 여기서 enumerate 함수를 활용하면 각각의 항목에 대한 index까지 뽑아낼 수 있다. for i, n in enumerate(a): print(i,n) # 결과: 0 bye 1 my 2 blue 결과값은 0 bye, 1 my, 2 blue가 세 줄에 걸쳐 출력된다. 반대의 순서로 아래와 같이 출력할 수도 있음. for i, n in enumerate(a)..
2019. 11. 4.