코테용 파이썬 정리

개발새발log·2022년 4월 13일
0

파이썬

목록 보기
3/3

실제로 자주 구글링하는 거 위주로 계속 UPDATE 예정

Dictionary

defaultdict 사용

from collections import defaultdict

map = defaultdict(list)
map['a'].append('b')
map['a'].append('c')

print(map) #defaultdict(<class 'list'>, {'a': ['b', 'c']})
  • 사전에 존재하지 않는 키 바로 접근 시 KeyError 발생: map['b']

  • 존재하는 키인지 확인하기: if 'b' in map

  • defaultdict는 사전에 존재하지 않는 키라면 디폴트값을 넣어서 생성해준다

  • 아니면 get으로 접근하는 방법도 있다
    👉 get(key, default value): key 값이 존재하면 해당 value 반환, 아니면 디폴트 value 반환

  • 순회하기

for key, value in map.items():
	#key, value 활용 로직
  • key/value만 추출하기
key_list = data.keys() 
value_list = data.values()

정렬

sorted

  • sorted(정렬할 데이터)
  • sorted(정렬할 데이터, reverse)
  • sorted(정렬할 데이터, key)

Counter 활용

iterable의 원소의 개수 셀 수 있음 👉 Counter(iterable)

  • 더하기, 빼기, 교집합, 합집합 가능

문자열 다루기

  • str.replace(a, b): a를 b로 대체하기
  • str.split(기준 문자열) : str을 기준 문자열 기준으로 split

아스키 코드 관련

  • 아스키 코드 -> 문자로 : chr(n)
  • 문자 -> 아스키 코드로 : ord(a)

순회하기

enumerate 활용

  • (인덱스, 배열원소) 형태로 순회
lst = [a, b, c, d, e, f, g]
for idx, val in enumerate(lst):
    print(idx, val)

내장함수

map

  • map(function, iterable)
  • 첫번째 인자는 함수, 두번째 인자는 반복가능한 객체(리스트, 스트링, 튜플)
  • 함수 자리에 람다 함수 넣기 가능

zip

  • zip(iterables)

zip을 이용하여 사전으로 변환 가능

keys = [0, 1, 2]
values = ["A", "B", "C"]
dict(zip(keys, values))

#console: {0: 'A', 1: 'B', 2: 'C'}

deepcopy

from copy import deepcopy

lst_copy = deepcopy(lst_org)

miscellaneous tips

재귀 호출 제한 풀기

import sys
sys.setrecursionlimit(10**6) 

빠르게 입력받기

import sys
input = sys.stdin.readline
  • 한줄에 여러값
arr = list(map(int, sys.stdin.readline().split()))

참고하기 좋은 레퍼런스

https://github.com/VSFe/Algorithm_Study/blob/main/Concept/Prev/vol.2/00_Special/Pythonic_Code_For_Coding_Test.md

profile
⚠️ 주인장의 머릿속을 닮아 두서 없음 주의 ⚠️

0개의 댓글