Python
-
[Python] 딕셔너리, 딕셔너리 모듈Python 2022. 3. 13. 18:11
딕셔너리 딕셔너리는 키/값 구조로 이루어져 있고 내부적으로 해쉬테이블로 구현되어 있다. 딕셔너리 시간 복잡도 len(a) 0(1) a[key] 0(1) a[key] = value 0(1) key in a 0(1) 딕셔너리 활용 모듈 defaultdict객체 존재하지 않는키를 조회할경우 에러가 발생하는 대신에 디폴트 값을 기준으로 해당 키에 대한 딕셔너리아이템을 생성해준다. from collections import defaultdict a = collections.defaultdict(int) a['a'] = 5 a['c'] += 1 a 결과 => defaultdict(, {'a':5, 'c':1}) 존재하지 않는 키인 'c'를 검색하면 디폴트값인 0을 기준으로 생성 후 1을 더해준다. Counter객체..
-
[Python] sort, sortedPython 2022. 3. 10. 23:00
sort 항목간의 비교를 사용하여 목록을 제자리에 정렬한다. 즉, 반환값이 없고 함수 내에서 결과가 반영된다. sort(key=None, reverse=False) sorted iterable의 항목에서 새로운 정렬된 항목을 반환한다. 따라서 다른 변수에 정렬된 결과를 받을수 있다. sorted( iterable , key=None , reverse=False ) 둘다 key값을 기준으로 정렬하며 디폴트는 오름차순이다. nlogn의 시간복잡도를 가진다. key 값이 2개일 경우? 만약 key값이 a, b 라면 a를 기준으로 정렬했을때 비교가 안될 경우에는(ex 동일한 경우) b를 기준으로 정렬한다. s = ['2 A', '1 B', '4 C', '1 A']를 각 요소안의 알파벳으로 정렬하여라. 알바펫이 ..
-
[Python] lambda , map()Python 2022. 3. 10. 20:27
람다표현식 람다 표현식이란 식별자 없이 실행 가능한 함수를 말하며(이름 없는 함수), 함수 선언 없이도 하나의 식으로 함수를 단순하게 표현할 수 있다. 람다함수 만드는 구문 lambda [parameters]: expression #lambda [매개면수] : 함수의 결과로 반환되는 값 람다함수의 리턴값이 여러개일 경우? 만약 a1, a2라면 (a1, a2)로 묶어서 처리해준다. map() 반복가능한 자료형의 다수의 원소에 대한 함수의 결과를 한 번에 얻을수 있다. map() 만드는 구문 map(function, iterable) #map(적용시킬 함수, 적용할 반복가능한 자료형) map함수는 map객체를 리턴하기 때문에 결과값을 list나 tuple로 바꿔 사용한다. 두 리스트 원소의 각각의 합을 구하..
-
[Python] re.sub()Python 2022. 3. 9. 04:53
문자열에서 불필요한 문자를 필터링하거나 문자를 다른 문자로 바꾼다. re.sub('바꾸고 싶은 문자', '바꿀 문자', '문자열', '바꿀횟수') 바꿀횟수를 지정하지 않으면 모든 경우에서 바꿔준다. 지정할경우 앞에서 부터 바꿔준다. 자주 사용하는 정규표현식 \d [0-9]와 동일한 표현식 \D [^0-9]와 동일한 표현식 \s 공백문자와 매치 \S 공백문자가 아닌것과 매치 \w [A-Za-z0-9_]와 동일한 표현식 ([^]는 부정의 의미) 예로 문자열에서 숫자와 소문자만 남기고 필터링 해보겠다. import re s = "12.cat.CAT/" s = re.sub('[^0-9a-z]','',s) print(s) 12cat 이처럼 숫자와 소문자를 제외한 문자가 ''(공백)으로 바뀌어 필터링된것을 확인할 ..