Languages/Python 22

time

import time start=time.time()# 시작 print(time.time() - start)# 끝-시작시간=실행시간 참고 👇 https://opentutorials.org/module/2980/17436 코드 실행시간 측정 - 파이썬_실전 프로젝트 문제를 풀다 보면, 실행 시간이 오래 걸리는 문제들이 간혹 있었습니다. 코드의 실행속도를 높일려면, 일단 시간을 측정해보는게 좋습니다. 시간 측정 코드 import time start = time.time() # 시작 시간 opentutorials.org

Languages/Python 2021.12.30

*(packing / unpacking)

1. packing은 *매개변수 matrix=[[*map(int, input().split())] for _ in range(N)] 위치인자를 여러 개 받을 수 있다. ❗아래와 같이 list()에 packing을 넣으면 에러 뜬다. matrix=[list(*map(int, input().split())) for _ in range(N)] 2. 위치인자를 unpacking할 때 *인자 사용 lst=[1, 2, 3] print(*lst) # 1 2 3 print(lst)일 경우 [1, 2, 3]이다. 참고 👇 https://wikidocs.net/22801 3) packing, unpacking `print`함수는 출력하고자하는 객체가 몇개던지, 즉 몇개의 인자를 받던지 상관하지 않고 출력해줍니다. ``` ..

Languages/Python 2021.09.16

순열과 조합

1. 순열 itertools.permutations(iterable, r=None) iterable에서 r 길이 만큼 순열을 생성해 반환 r이 주어지지 않으면, 기본값은 iterable의 길이다. 순열 튜플은 iterable의 순서에 기반해서 만들어진다. 즉, 값이 아닌 위치를 기준으로 순열이 생성된다. 2. 조합 itertools.combinations(iterable, r) iterable에서 r 길이 만큼 조합을 생성 조합 튜플은 iterable의 순서에 기반해서 만들어진다. 즉, 값이 아닌 위치를 기준으로 조합이 생성된다. from itertools import product lst=[[1, 2], [4, 5], [7, 8]] print(list(product(*lst))) 데카르트 곱 위의 co..

Languages/Python 2021.08.17

reduce(function, iterable[, initializer])

reduce(function, iterable[, initializer])는 2개씩 iterable의 값을 function에 적용한다. 중첩해서 function을 적용해나간다. reduce(lambda x, y : x+y, [1, 2, 3, 4, 5]) 계산 결과는 ((((1+2)+3)+4)+5)이다. x가 중첩된 값, y는 갱신되는 값이다. 선택 파라미터인 initializer는 iterable이 비었을 때 기본값이다. initializer는 iterable이 있을 때는 iterable보다 먼저 앞에 위치해 계산됨. answer=reduce(lambda x, y : x*(y+1), cnt.values(), 1)-1 initializer가 1이니까 x가 1이 대입된다. 참고 👉 파이썬 documentat..

Languages/Python 2021.06.23

deque

deque(deck)는 double-ended queue의 약어다. deque는 stack과 queue를 합친 것이다. 양쪽 끝에서 넣고 빼고 가능 값을 추가하고 꺼낼 때 O(1)이다 => 효율적 from collections import deque 사용 방법 🍕 자주 쓰는 메소드 deque([iterable[,maxlen]]) deque 생성 maxlen을 주지 않으면 임의의 길이로 생성됨 maxlen이 주어지고, maxlen보다 더 크게 값을 추가하면 반대쪽 끝 값이 삭제 popleft() 가장 왼쪽 원소를 pop한다. 리스트.pop(0)보다 더 빠름 appendleft(x) x를 deque의 왼쪽에 추가한다. rotate(n=1) n이 양수면 시계 방향 회전, 음수면 반시계 방향 회전

Languages/Python 2021.05.27

딕셔너리

문자열, 숫자, 튜플(문자열, 숫자, 튜플을 포함하는) 은 key가 될 수 있다. 리스트는 key가 될 수 없다. dict.fromkeys(seq, value) 딕셔너리 key들을 value로 초기화 value는 생략 가능 생성된 딕셔너리 반환 get(key[,default]) 딕셔너리에 key가 있으면 key값을 반환 없으면 기본값 setdefault(key[, default]) key가 딕셔너리에 있으면 값을 리턴 key가 딕셔너리에 없으면 key의 값으로 default를 넣는다. pop(key[, default]) 딕셔너리에 key가 있으면 제거하고, 값을 반환 key가 없으면 default를 반환 key, default 둘다 없으면 KeyError가 일어난다. collections.Counter(..

Languages/Python 2021.05.04

파이썬 정규 표현식

import re 정규 표현식을 사용하기 위해 모듈 추가 📌 메타 문자 종류 [] 문자 클래스 [] 안의 문자들과 매치 [] 안에 -를 쓰면 범위 [SDT] [a-z] () 그루핑. 그룹을 만든다. (\d+) ? 문자가 있거나 없거나 ([*#]?) ^ 1. 문자열의 시작 2. not([] 안에서 쓰일 때) '^apple' [^a] $ 문자열의 마지막 'apple$' {m, n} m부터 n까지 반복 횟수 지정 생략된 m=0, n=무한대 ap{,1}le . 줄바꿈 문자 \n을 제외한 모든 문자와 매치 a[.]b는 a.b다. a.b * 0~n번 반복되는 문자열 매치 ap*ple + 1~n번 반복되는 문자열 매치 ap+ple | or apple|banana (?=) 전방탐색 ex) .+(?=년) 년 앞에 문자들..

Languages/Python 2021.04.26

set() 자료형

set()은 indexing, slicing, 중복이 없음. 순서가 없기 때문에 인덱싱 불가능 -> set을 리스트나 튜플로 변환한 후 인덱싱으로 접근하는 방법이 있음. set()은 합집합, 교집합, 차집합, symmetric difference(둘 중 한 집합에는 속하지만 둘 모두에는 속하지는 않는 원소들의 집합)에 사용 할 수 있음. 🎨 set 만들기 {}안에 ,로 요소 구분하기 ex) {'hello', 'set'} set comprehension ex) {i for i in '12345' if int(i)%2 == 0 } set() 사용하기 ex) set(['a', 'b', 'c', 'd', 'e']} # 교집합 집합1 & 집합2 집합1.intersection(집합2) # 합집합 집합1 | 집합2 ..

Languages/Python 2021.03.19