728x90

파이썬 6

정규 표현식 - Python

정규 표현식은 양도 방대하기 때문에 사용방법을 코드로 정리하도록 하겠습니다. 가장 기본적인 표기법 1. \d - 숫자와 매치된다. [0-9]와 동일한 표현식이다. 2. \D - 숫자가 아닌 것과 매치된다. [^0-9]와 동일한 표현식이다. 3. \s - 화이트스페이스(whitespace) 문자와 매치된다. [ \t\n\r\f\v]와 동일한 표현식이다. 맨 앞의 빈칸은 공백 문자(space)를 의미한다. 4. \S - 화이트스페이스 문자가 아닌 것과 매치된다. [^ \t\n\r\f\v]와 동일한 표현식이다. 5. \w - 문자+숫자(alphanumeric)와 매치된다. [a-zA-Z0-9_]와 동일한 표현식이다. 6. \W - 문자+숫자(alphanumeric)가 아닌 문자와 매치된다. [^a-zA-Z0-..

파이썬/정리 2023.09.10

find vs index - Python

항상 코테문제를 풀면서 두 함수의 차이에 대해 헷갈려서 이번 기회에 정리하고자 한다. find, index 함수란 뭘까? - 해당 문자열의 위치 가 처음나타났을때 인덱스를 반환 함수입니다. - 찾는 문자가 없을때는 find 는 -1 을 return, index 는 ValueError 에러 발생 - find 는 문자열에서만 사용, index 는 리스트, 튜플, 딕셔너리, 문자열 에서 사용 strA = ['aaa','ddd'] strB = 'testapple' num1 = strA.index('aaa') num2 = strB.find('e') print(num1) # 0 print(num2) # 1

파이썬/정리 2023.09.10

순열과 조합 - Python

순열이 무엇일까? - 주어진 n 개의 수에서 수를 뽑아 줄을 세울 수 있는 모든 경우의 수이다. 예시 - 5개의 카드중에서 3장을 뽑아 세 자리 숫자를 만드는 경우의 수 from itertools import combinations, permutations nums = [1,2,3,4,5] perm = list(permutations(nums, 3)) print(perm) print(len(perm)) # [(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 2), (1, 3, 4), (1, 3, 5), (1, 4, 2) ... # 60 조합은 무엇일까? - 주어진 리스트에서 r개의 값을 나열할 수 있는 경우의 수 from itertools import combinations, per..

파이썬/정리 2023.09.10

람다함수(익명함수)

코딩테스트 문제에서 정렬할때 가끔 나오는? 람다함수에 대해서 알아보겠습니다. 보통의 파이썬에서는 함수를 정의할때 def ~ 로 시작합니다. 근데 이걸 가벼운 기능을 구현할때는 def 로 선언하고 정의를 하는게 수고롭다 보니 그런 것을 덜기 위해 만들어졌습니다. 람다(lambda) - 익명함수 익명함수라고 불리는 이유? lambda x: x % 2 == 0 num = lambda x: x % 2 == 0 -> 위와 같은 코드처럼 단독으로 호출할수 없고 변수를 할당해야해서 익명 함수 라고 부릅니다. 즉, 이름이 없다. 사용하는 방법? def print_num(x): return x + 1 ################### lambda x: x + 1 # 우선순위대로 정렬 strA = [(1, 2), (3,..

파이썬/정리 2023.09.10

진법 변환 함수

사용방법 문법 int(string, base) base 에는 원하는 진법으로 바꿀 숫자를 넣으면 된다. print(int('11',2)) print(int('12',3)) print(int('13',4)) print(int('14',5)) 10진법 -> 2, 8 ,16진법 : bin(), oct(), hex() print(bin(10)) #0b1010 print(oct(10)) #0o12 print(hex(10)) #0xa # 숫자를 제외한 문자는 진법표시 이므로 print(bin(10)[2:] 10진법 -> n 진법 # 45의 3진법을 구한다고 가정할때 divmod(숫자, 진법) # n은 45 while n > 0: n, mod = divmod(n, 3) strA += str(mod) return in..

파이썬/정리 2023.07.26
728x90