연산

# 몫 구할 때 연산
a // b

# 나머지 연산
a % b

2차원 배열 이동

# 상 하 좌 우
dx = [-1, 1, 0, 0]
dy = [0, 0, -1, 1]

# 공식처럼 외워두면 좋을 듯
for i in range(4):
	nx = x+dx[i]
	ny = y+dy[i]

문자열

# 문자열 있는지 확인
# 문자열 안에 a라는 문자열이 포함되는지 -> in쓰면 됨
if a in string:
	pass

# 아스키 코드 활용
# 만약 A를 숫자로 바꾸고 싶다?
alpha = 'A'
int(ord(alpha)) - int(ord('A')) + 1

# 알파벳인지 확인
alpha.isalpha() # --> True면 알파벳
alpha.isdigit() # --> True면 숫자
alpha.isalnum() # --> True면 알파벳이나 숫자

# 문자열 팰린드롬
s==s[::-1]

# 문자열 공백없이 나열하는 방법
print(''.join(string))

# 문자열 변경 및 제거 re.sub
import re
paragraph = "Bob hit a ball, the hit BALL flew far after it was hit."

# 예를 들어, 단어 외의 콤마, 마침표, 따옴표 등을 없애버리고 싶다면?

# 1번째 인자 -> \\w(단어) ^ 아닌거,  2번째 인자 -> 공백으로 변경
words = re.sub('[^\\w]', ' ', paragraph.lower()).split() 
>>> ['bob', 'hit', 'a', 'ball', 'the', 'hit', 'ball', 'flew', 'far', 'after', 'it', 'was', 'hit']

# 문자열 개수 세기
from collections import Counter
counts = Counter(words)
# 제일 첫번째로 많이 카운트 된 단어 소환
counts.most_common(1)[0][0]
>>> hit

<bound method Counter.most_common of Counter({'hit': 3, 'bob': 1, 'a': 1, 'the': 1, 'flew': 1, 'far': 1, 'after': 1, 'it': 1, 'was': 1})>

Sort vs Sorted

**sort()**와 sorted() 둘 다 리스트의 요소를 정렬하기 위한 함수/메서드이지만, 몇 가지 주요한 차이점이 있습니다:

  1. 메서드 vs 함수:
  2. 데이터 타입:
  3. 반환 값:

그럼 둘 중 뭘 쓰면 되나요?