TIL_20221110_개인 정리_코딩 테스트 대비 Python Remind

창고·2022년 11월 10일
0
post-thumbnail

코딩 테스트 대비 Python 문법 Remind를 위해 내용을 정리해보았습니다.
참고 1 : https://wikidocs.net/book/1553
참고 2 : 혼자 공부하는 파이썬

1. 입력 / 연산 관련

(1) 입력 관련

  • input() : 입력값 받을 때 사용
# 첫번째 줄 입력은 60
a = int(input())

# 첫번째 줄은 H(0<=H<=23), M(0<=M<=59)로 H시 M분을 입력 받는다
time = list(map(int, input().split()))
  • 단, 반복문에서 input() 사용 시 연산 속도가 느려 시간 제한에 걸릴 가능성 높음
  • sys.stdin.readline() : 반복문에서 입력 받을 때 사용 (주의 : import sys 필요)
import sys # import 필요!

a = int(sys.stdin.readline())
t_input = sys.stdin.readline # 위의 코드가 길어서 t_input으로 지정
b = int(t_input()) # 적용됨

# 첫번째 줄은 H(0<=H<=23), M(0<=M<=59)로 H시 M분을 입력 받는다
time = list(map(int, t_input().split()))

(2) 연산 관련

  • % : 나눈 나머지
  • // : 나눈 몫

2. 문자열 관련

(1) 문자열 참고 사항

  • 문자열[] : 문자열도 컬렉션처럼 접근 가능
sample = '가나다라마바사'
sample_partion = sample[0] # '가' 출력
  • str() : 문자열 변환
sample = 365
sample_str = str(sample)
print(sample) # 365
print(sample_str) # '365'

(2) 문자열 관련 함수

  • .join() : 문자열 합침, 구분자 사용
','.join(['사','랑','해']) # '사,랑,해'
'#'.join(['#좋아요', '알림설정', '부탁해요')] # '#좋아요#알림설정#부탁해요'
  • .split() : 문자열 분리, 구분자 사용
','.split('사,랑,해') # ['사', '랑', '해']
'#'.split('좋아요#알림설정#부탁해요') # ['좋아요', '알림설정', '부탁해요']
  • .partition() : 구분자로 나누어 Tuple형으로 반환
departure, _, arrival = "Seattle-Seoul".partition('-')
departure # 'Seattle'
_ # '-'
arrival # 'Seoul'
  • len() : 문자열만을 위한 함수는 아님, 길이 확인
sample = '여보사랑해'
print(len(sample) # 5
  • 아스키 코드 관련

3. 조건문, 반복문 관련

(1) 조건문 관련 참고 사항

  • if "문자열": : 문자열 조건, 문자열 값이 있으면 True, if "" : 은 False, 실행 안됨
  • 나머지는 Java와 유사

(2) 반복문 관련 참고 사항

  • ++, -- 키워드가 없음
  • for 요소 in 범위: : 반복문을 돌릴 범위 내의 요소에 대해 반복 실행
numbers = [1,2,3,4]
for number for numbers:
	number 관련 블라블라블라
  • 리마인드용
    • while 조건절: : 조건절 내부가 True인 동안 계속 반복
    • break : 반복문 내부 특정 조건에서 반복문 탈출
    • continue : 반복문 내부 특정 조건에서 반복문을 탈출하나 중단시키지는 않고 다음 반복 실행

4. List / Tuple / Dictionary / Set 관련

(1) List

  • list(문자열) : 문자열 -> 리스트로 변형
  • 리스트변수[시작인덱스:종료인덱스] : 리스트 슬라이싱
list = ['a', 'b', 'c', 'd']
list[1:2] # ['b', 'c']
list[2:] # ['c', 'd']
list[:2] # ['a', 'b']
  • 리스트 복사 방법
    • 리스트변수[:]
    • .copy()
  • [::건너뛸 간격+1] : step 활용 (일정 간격으로)
list = ['a', 'b', 'c', 'd']
list[::2] # ['a', 'd']
list{::-1] # ['d', 'c', 'b', 'a'], reverse
  • index(item) : 리스트 안에서 해당 item의 index 번호 리턴, 없을 시 ValueError
  • count(item) : 매칭되는 갯수 출력
  • in : 리스트 안에 포함되어 있는지 확인
  • 리스트 관련 추가 / 삭제
    • append() : 리스트 마지막에 원소 추가
    • insert(인덱스, 값) : 리스트 해당 인덱스에 값을 가진 원소 추가
    • + : 리스트 연결
    • extend(리스트) : 리스트 마지막에 리스트 연장
    • del : del 키워드를 통해 삭제
    • remove(item) : 리스트 내에 item을 삭제, 없을 시 ValueError
  • 리스트 본체 정렬
    • reverse() : 리스트를 거꾸로 뒤집음 (desc 정렬 아님)
    • sort() : 정렬, 기본값은 오름차순, reverse 옵션 True는 내림차순
      • sort(reverse=True)
    • sort()의 key 옵션에 지정된 함수의 결과에 따라 정렬
      • sort(key=len)
  • 리스트 정렬된 결과 반환 : 본체는 변형하지 않음
    • sorted(리스트) : 순서대로 정렬, 정렬된 리스트 반환
    • reversed(리스트) : 거꾸로 뒤집기, iterable한 객체를 반환, 확인 위해서는 list로 한번 더 변형 필요
    x = [1,2,3,4]
    y = reversed(x)
    y # <list_reverseiterator object at ~~~....>
    list(y) # [4,3,2,1]

(2) Tuple

(3) Dictionary

(4) Set

5. Function 관련

6. Class / O.O.P 관련

7. 기타 특수 라이브러리

profile
공부했던 내용들을 모아둔 창고입니다.

0개의 댓글