Python
-
Python - CounterPython 2020. 9. 8. 01:29
>>> from collections import Counter >>> c1 = Counter([11,22,33,33]) >>> c1 Counter({33: 2, 11: 1, 22: 1}) >>> c1-Counter([22,33]) Counter({11: 1, 33: 1}) >>> Counter(a=2, bb=3) Counter({'bb': 3, 'a': 2}) >>> list(Counter(a=2, bb=3)) ['a', 'bb'] >>> Counter(a=2, bb=3).elements() >>> list(Counter(a=2, bb=3).elements()) ['a', 'a', 'bb', 'bb', 'bb'] >>> Counter('abbccaddd') Counter({'d': 3, 'a': 2, ..
-
Python - deque - tempPython 2020. 9. 8. 01:01
deque list-like container with fast appends and pops on either end >>> from collections import deque >>> >>> >>> d = deque("abc") >>> d deque(['a', 'b', 'c']) >>> d = deque([11,22,33]) >>> d deque([11, 22, 33]) >>> d = deque("abc") >>> d deque(['a', 'b', 'c']) >>> d.append('e') >>> d deque(['a', 'b', 'c', 'e']) >>> d.rotate(1) >>> d deque(['e', 'a', 'b', 'c']) >>> d.rotate(-2) >>> d deque(['b', ..
-
Python - Time ComplexityPython 2020. 9. 7. 23:45
TimeComplexity https://www.ics.uci.edu/~pattis/ICS-33/lectures/complexitypython.txt https://wiki.python.org/moin/TimeComplexity TimeComplexity - Python Wiki This page documents the time-complexity (aka "Big O" or "Big Oh") of various operations in current CPython. Other Python implementations (or older or still-under development versions of CPython) may have slightly different performance charac..
-
Python - generator expressionPython 2020. 9. 7. 09:38
만들어지고 있는 결과 자료형에 대하여, 보내기만 가능할 뿐 받거나 읽어 올 수 없다. generator는 iterable형태의 구조까지만 제공되고 그것을 자료형에 담을지는 여부는 다음 단계의 문제이기 때문에 다음 단계인 자료형에는 접근 할 수 없다. Ex 입력 [11,22,22]에 대하여 dict에 중복되는 수량을 산출하기{11:1, 22:2}는 만들 수 없다(매번 list탐색 같은 우회 방법은 가능). 중복을 알려면 결과물 dict에 접근해야 하기 때문이다. >>> [i for i in range(10)] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>>
-
Python - 함수 인수Python 2020. 9. 6. 21:29
함수 선언에서 인수를 받을 때 '*'는 가변으로 받겠다는 선언 >>> def f(v1, *v2, v3=None): ... print("v1:{} v2:{} v3:{}".format(v1, v2, v3)) ... >>> f(1,2,3) v1:1 v2:(2, 3) v3:None >>> f(1,2,3,4) v1:1 v2:(2, 3, 4) v3:None >>> f(1,2,3,4,v3=5) v1:1 v2:(2, 3, 4) v3:5 >>> 함수 호출에서 인수를 넣을 대 '*'는 자료구조 자체를 주지 않고 목록 내용 n개를 인수 n개로 주는 명령이다. >>> f([11,22,33,44,55], 99) v1:[11, 22, 33, 44, 55] v2:(99,) v3:None >>> f(*[11,22,33,44,55],..
-
Python - bisect 함수Python 2020. 9. 6. 19:56
bisect: 2등분[양분]하다 이진 탐색 알고리즘을 사용하여 특정 값이 있는 index를 검색한다. 오름차순으로 정렬된 리스트에서 특정한 값의 위치(index)를 찾는다. 순차 탐색은 목록을 단순 순서대로 찾아 나간다. 최대 n번까지 하게된다. >>> import bisect >>> l2 = [1, 2, 3, 7, 9, 11, 22, 33] >>> bisect.bisect(l2, 7) 4 >>> l2.reverse() >>> bisect.bisect(l2, 7) 8 >>> l2 [33, 22, 11, 9, 7, 3, 2, 1] >>> bisect.bisect(l2, 1) 0 >>> bisect.bisect(l2, 2) 0 >>> bisect.bisect(l2, 11) 8 >>> bisect.bisect..