Search
Duplicate
🐍

문제풀이용 파이썬 문법 - 1

간단소개
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
Problem Solving
Python
Scrap
태그
python
algorithm
9 more properties

파이썬 문법 시리즈

어썸한 문법 제보 받습니다.

1. 입력

1-1. 여러 정수가 들어올 때 입력 받기

a, b = map(int, input().split())
Python
복사

1-2. 여러 정수를 리스트로 받기

lst = [*map(int, input().split())] # [1, 2, 3] lst = list(map(int, input().split())) lst = [int(x) for x in input().split()]
Python
복사

1-3. 문자를 리스트로 받기

lst = input().split() # ['a', 'b', 'c']
Python
복사

1-4. 입력값 따로 받기

first, *mid, last = map(input().split()) # input: 1 2 3 4 5 # first: 1 # mid: [2, 3, 4] # last: 5
Python
복사

1-5. 입력 시간 줄이기

import sys input = sys.stdin.readline
Python
복사

2. 출력

2-1. end: 출력 끝에 문자 추가

lst = [1, 2, 3, 4, 5] for n in lst: print(n, end=' ') # output: 1 2 3 4 5
Python
복사

2-2. sep: 객체 사이에 문자 추가

lst = [1, 2, 3, 4, 5] print(*lst, sep=',') # output: 1,2,3,4,5
Python
복사

2-3. join: 문자열 출력

lst = ['a', 'b', 'c'] print(''.join(lst)) # output: abc
Python
복사

2-4. 리스트 출력

lst = [1, 2, 3, 4] print(*lst) # 1 2 3 4
Python
복사

3. enumerate

리스트에서 인덱스와 값을 함께 가져올 때 사용
lst = ['a', 'b', 'c'] for idx, c in enumerate(lst): print(idx, c) # output # 0 a # 1 b # 2 c
Python
복사
lst = list(enumerate(['a', 'b', 'c'])) # [(0, 'a'), (1, 'b'), (2, 'c')]
Python
복사

4. set

4-1. 선언

# 빈 set s = {} s = set() # 선언 및 초기화 s = {1, 2, 3, 4, 5, 6} # 리스트 변환 lst = [1, 1, 2, 3, 3] s = set(lst) # {1, 2, 3}
Python
복사

4-2. 집합연산

A = {1, 2, 3, 4} B = {3, 4, 5, 6} intersection = A & B # {3, 4} union = A | B # {1, 2, 3, 4, 5, 6} difference = A - B # {1, 2}
Python
복사

5. dictionary

5-1. 선언

key_lst = ['a', 'b', 'c'] val_lst = [10, 20, 30] # 반복문으로 생성 dic = {} for key, val in key_lst, val_lst: dic[key] = val # {'a': 10, 'b': 20, 'c': 30} # zip으로 생성 dic = dict(zip(key_lst, val_lst)) # {'a': 10, 'b': 20, 'c': 30} # dictionary comprehension dic = {x:y for x, y in zip(key_lst, val_lst)} # {'a': 10, 'b': 20, 'c': 30}
Python
복사

5-2. defaultdict

기본 dictionary는 없는 key를 조회 시도 시 오류 발생
defaultdict는 없는 key를 조회할 때 빈 값을 채워줌
# 기본 dictionary dic = dict(zip(key, val)) # {'a': 10, 'b': 20, 'c': 30} print(dic['kk']) # error! # defaultdict - int from collections import defaultdict dic = defaultdict(int) print(dic['kk']) # 0 # defaultdict - list from collections import defaultdict dic = defaultdict(list) dic['a'].append(42) print(dic['a']) # [42]
Python
복사

6. Counter

기본 dictionary 메소드를 상속받기 때문에 keys(), values() 등 사용 가능

6-1. 초기화

from collections import Counter counter = Counter("abracadabra") print(counter) # Counter({'a': 5, 'b': 2, 'r': 2, 'c': 1, 'd': 1})
Python
복사

6-2. elements()

객체의 요소를 정렬되지 않은 형태로 반환
개수가 0 이하인 요소는 제외됨
c2 = Counter(a=3, b=2, c=-1) print(list(c2.elements())) # ['a', 'a', 'a', 'b', 'b']
Python
복사

6-3. most_common(n)

가장 흔한 요소 n개를 반환
n을 생략하거나 None으로 전달하면 모든 요소를 반환
개수가 동일할 경우, 순서는 임의로 지정됨
counter = Counter("abracadabra") print(c1.most_common(2)) # [('a', 5), ('b', 2)]
Python
복사

6-4. subtract()

입력된 요소의 개수를 뺌, 해당 요소가 0개 이하일 경우 유지됨
c3 = Counter(a=3, b=2, c=1) c3.subtract({'a': 1, 'c': 2}) print(c3) # Counter({'a': 2, 'b': 2, 'c': -1})
Python
복사

6-5. update()

입력된 요소의 개수를 더함
c3.update({'a': 1, 'c': 2}) print(c3) # Counter({'a': 3, 'b': 2, 'c': 1})
Python
복사

7. 기타

7-1. 변수 swap

a, b = 4, 2 a, b = b, a print(a, b) # 2 4
Python
복사