본문 바로가기

파이썬3

파이썬(Python) - 이분탐색(이진탐색) / bisect 이진 탐색(이분 탐색) 정렬된 상태의 리스트에서 탐색범위를 반으로 줄여가며 데이터를 탐색하는 방법 리스트가 반드시 정렬된 상태여야만 한다. lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 오름차순으로 정렬된 상태 num = 7 # 정렬된 상태를 유지하며 배열에 추가할 요소 left = 0 # 왼쪽 기준 인덱스 right = len(lst)-1 # 오른쪽 기준 인덱스 while left= num: right = mid - 1 result = mid else: left = mid + 1 print(result) # 7 각 양끝의 인덱스를 기준으로 잡고 가운데 인덱스를 비교값을 삼아 범위를 반씩 줄여나가는 방식 절반씩 범위를 줄여가기에 O(logN)이 성립! bisect - .. 2022. 4. 12.
파이썬(Python) - 문자열에서 여러 문자 바꾸기 Method replace() : 문자열에서 한 문자를 다른 문자로 변경 re.sub() / re.subn() : 문자열에서 정규식에 맞는 문자들을 모두 변경 maketrans() / translate() : 1대1형식으로 여러 문자를 변경 및 삭제 →문자열은 인덱스로 조회는 가능하지만 직접적인 수정 및 삭제는 불가능하므로 위와 같은 방법으로 수정한다. replace() 특정문자를 대체할 때 문자열.replace(문자열에서 교체할 문자, 일치하는 문자를 대체할 문자 , [교체할 횟수]) string = "hello hi hello good" string2 = string.replace("hello", "Nope") print(string2) # "Nope hi Nope good" string3 = str.. 2022. 3. 31.
파이썬(Python) - 딕셔너리(dictionary) 원소 검색/추가/삭제 딕셔너리(dictionary)의 구조 중괄호({ })로 감싸진 키(key)와 요소(value)의 1대1 매칭으로 구성됨 콜론을 기준으로 앞이 key, 뒤가 value값 아래의 dict의 key값 : 이름, 나이, 다루는 언어 dict = {"이름" : "홍길동", "나이" : 28, "다루는 언어" : ["Python", "Java"]} 각 key와 value 쌍은 쉼표(,)로 구분한다 key의 값이 겹칠경우 하나 외에는 모두 무시되므로 key는 중복X 하나의 key에 여러 값을 매칭하고 싶을 경우 value를 리스트형태로 지정할 수 있다. key값은 변하지 않는 값으로만 지정이 가능하다!! ex) 튜플형태는 가능하나 리스트는 불가능하다. 딕셔너리(dictionary) 검색 key값 조회 ( dict.k.. 2022. 3. 29.