Table of contents
세팅 및 문법 관련
Dictionary 관련 함수들
- d.items(), d.keys(), d.values(), d.get(‘key 값’)
a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}
>>> a.get('name')
'pey'
>>> a.items()
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])
>>> list(a.keys())
>>> ['name', 'phone', 'birth']
# 해당 Key가 딕셔너리 안에 있는지 조사하기
>>> 'name' in a
True
>>> 'email' in a
False
heapq 모듈 / 힙(Heap) 구조
- heapq.heappush(list,value), heapq.heappop(list) : heapq는 일반적인 리스트와 다르게, 가지고 있는 요소를 push, pop 할때마다 자동으로 정렬해줌. 정렬 비용을 감소시킴으로써 효율성 이슈 해결
h = [] for x in lst: heapq.heappush(h,x) heapq.heappush(h, heapq.heappop(h) + (heapq.heappop(h) * 2))
문자열 치환 replace 함수
- replace(‘검색 문자’, ‘치환 문자’, 바꿀횟수)
# 검색 문자 전부 변경하고 싶을 때
str = 'orange, orange, melon'
str = str.replace('orange', 'apple')
>>> apple, apple, melon
# 특정 횟수만큼 바꾸고 싶을 경우
str = 'orange, orange, melon'
str = str.replace('orange', 'apple', 1)
>>> apple, orange, melon
시작하는 문자 startswith
- startswith(‘시작 문자’)
# 기본 예제
s = 'hello world'
s.startswith('hello')
>>> True
# 프로그래머스 예제
for p1, p2 in zip(phoneBook, phoneBook[1:]):
if p2.startswith(p1):
자주사용하는 함수
Object의 속성(attribute) 존재를 확인하는 함수
hasattr
/getattr
/setattr
: 멤버 확인, 변수 값 가져오기, 변수 값 설정
class cls:
a = 1
def b(self):
pass
# cls에 b라는 멤버가 있는지 확인
>>> hasattr(cls, 'b')
True
# cls에서 a변수의 값 가져오기
>>> getattr(cls, 'a')
1
# cls의 a라는 변수에 값 9 설정하기
>>> setattr(cls, 'a', 9)
자주 사용하는 코드 모음
iterable 자료형을 순서대로 묶어주는 zip 함수
- 배열을 같은 인덱스끼리 짝지어준다. 만약 배열의 길이가 다를 경우 같은 인덱스끼리만 짝지어주고, zip 객체에서 나머지 인덱스는 제외된다
participant.sort()
completion.sort()
for p,c in zip(participant, completion):
if p != c:
return p
return participant.pop()
Reference
[1] 파이썬 조각 코드 모음집