[파이썬] 필기

6389 단어 개념개념

word[::-1] : 문자열 거꾸로 정렬
abs(x) : 절대값 반환
array.reverse() : 순서 뒤집기
word2.startswith(word1) : word2가 word1로 시작할 때, True 반환

pow(a, b) : a의 b승

eval('식') : 문자열로 식을 입력하면 해당식을 실행한 결과값을 반환

ord(문자) : 문자 --> 아스키코드
chr(아스키코드) : 아스키코드 --> 문자 변환

리스트.pop(n) : n번째 index 값 반환, 해당 값 삭제

리스트.extend(다른리스트) : 리스트에 다른 리스트 추가하기(붙이기)

""" : 따옴표 3개 쓰면 (코드를 감싸주면) 여러 줄 주석처리 가능


리스트 컴프리헨션

리스트 컴프리헨션에서 if-else문 쓰기

['0' if i == '1' else '1'  for i in temp]

모듈러 연산

(a + b) % c 의 값은 ( (a % c) + (b % c) ) % c 의 값과 같다.

  • 모듈러 연산 참고
  • 특히 DP 유형 문제에서 많이 쓰임

lambda

  • 정렬 여러개, 내림차순도 있을 때
arr.sort(key = lambda x:(-int(x[1]), int(x[2]), -int(x[3]), x[0]) )

itertools

permutations : 순열 (순서 O)
combinations : 순열 (순서 X)
combinations_with_replacement : 순열 (순서 X, 중복 O)
product(array, repeat=n) : 순서, 중복 고려하지 않은 순열

import itertools

itertools.product(arr1, arr2)

datetime

현재 날짜를 사용할 수 있는 라이브러리

import datetime
now = datetime.datetime.now()
print(now.strftime('%Y-%m-%d'))

heapq

import heapq

arr = []
heapq.heappush(arr, value)
heapq.heappop(arr)

bisect

이진 탐색

from bisect import bisect_left, bisect_right

bisect_left(arr, x)
busect_right(arr, x)

math

factorial(n) : 팩토리얼
math.ceil(n) : 올림


collections

deque

인덱싱, 슬라이싱 사용 불가

from collections import deque
arr = deque()

deque : 덱 자료구조
appendleft() : 왼쪽에 추가
popleft() : 왼쪽 제거
pop() : default 값은 맨 뒤를 삭제함

Counter

from collections import Counter

counter = Counter(['r', 'b', 'r', 'g', 'b', 'b'])

print(counter['b']) #3

좋은 웹페이지 즐겨찾기