Python
-
Python - dequePython 2020. 9. 6. 18:13
deque list-like container with fast appends and pops on either end from collections import deque dq = deque([11,22,33]) dq.rotate(-1) >>> 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) >>..
-
Python - combination 클래스 함수Python 2020. 9. 6. 18:07
combination(n,r). 입력된 n개 중에서 r개(n≥r) 취하여 조를 만들 때, 이 하나하나의 조를 n개 중에서 r개 취한 조합을 반환. 조합에 순서를 구분하지 않기에 다른 순서라도 같은 조합으로 인식. >>> import itertools >>> list(itertools.combinations([11,22,33], 1)) [(11,), (22,), (33,)] >>> list(itertools.combinations([11,22,33], 2)) [(11, 22), (11, 33), (22, 33)] >>> list(itertools.combinations([11,22,33], 3)) [(11, 22, 33)] >>> list(itertools.combinations([11,22,33], 4)..
-
Python - permutations 클래스 함수Python 2020. 9. 6. 18:01
퍼뮤테이션(permutation): 순열 또는 치환 permutations(n, r). 입력된 n개를 이용하여 조합이 반복되지 않게(서로 다른 순서로 반복은 가능) r개씩 짝을 지어 반환. 반환되는 방식은 iterable이다. 조합에 순서를 구분하여 다른 순서는 다른 조합으로 인식. >>> import itertools >>> list(itertools.permutations([11,22,33,44],1)) [(11,), (22,), (33,), (44,)] >>> list(itertools.permutations([11,22,33,44],2)) [(11, 22), (11, 33), (11, 44), (22, 11), (22, 33), (22, 44), (33, 11), (33, 22), (33, 44)..
-
Python - dict() 클래스 함수Python 2020. 9. 6. 16:59
python dictionary Python - dict() for문 key value 처리 반복 가능한(iterable) 자료형을 입력받아 dictionary자료형으로 만들어 돌려주는 함수다. 버전 3.7에서는 삽입 순서가 보장된다. 버전 3.8에서는 뒤집을 수 있다. >>> d = {"a": 1, "two": 2, "c": 3, "d": 4} >>> d {'a': 1, 'two': 2, 'c': 3, 'd': 4} >>> list(reversed(d.items())) [('d', 4), ('c', 3), ('two', 2), ('a', 1)] >>> >>> d = dict(aa=11) >>> d {'aa': 11} >>> d.setdefault('aa') 11 >>> d.setdefault('bb',..
-
Python - reduce 함수Python 2020. 9. 6. 16:32
최초에 2개의 값으로 시작해서 연산된 결과를 하나를 다음으로 넘긴다, 다음 단계에서는 기존에 넘어온 값과 새로운 값 1개를 받아 연산해서 다음으로 넘기는 반복을 한다. 그러므로 값을 10개 받으면 -1개 된 9번 반복을 한다. >>> import functools >>> functools.reduce(lambda a,b: print("{}:{}".format(a,b)), range(10)) 0:1 None:2 None:3 None:4 None:5 None:6 None:7 None:8 None:9 >>> functools.reduce(lambda a,b: a+b, range(10)) 45