지속적인 업데이트 예정입니다.
1. defaultdict 사용(유사딕셔너리)
from collections import defaultdict
sample=defaultdict(int)
sample['dog']
print(sample.items())
sample['dog']+=1
print(sample.items())
2. list, dictionary comprehension
sample=[x for x in range(10)]
print(sample)
sample1={x:[] for x in ['a','b','c']}
print(sample1)
'''
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
{'a': [], 'b': [], 'c': []}
'''
3. zip : iterable한 객체 묶어서 튜플로 반환. 반복문 안에 넣어서 활용. i번째 원소끼리 튜플로
a=[1,2,3]
b=[4,5,6]
for i, j in zip(a,b):
print(i,j)
'''
1 4
2 5
3 6
'''
4. lambda함수: (lambda 사용하는 인자: 함수식)(입력값)
print((lambda x,y: x*y)(20,2))
#40
sorted 함수에 넣어서 list나 dictionary를 정렬할 수 있다.
key=lambda x: x~ 여기서 x는 요소 그 자체이다. 리스트 안에서 쓰면 항목이 되고 딕셔너리 안에서 쓰면 키가 된다.
#list
x=[[1,2,3],
[3,3,1],
[4,2,1]]
print(sorted(x,key=lambda x: (x[1],x[0]),reverse=True))
#두번째 - 첫번째 원소 기준으로 이중 정렬
결과
[[3, 3, 1], [4, 2, 1], [1, 2, 3]]
#dictionary
sample={1:(1,1,1), 2:(0,1,2)}
b=sorted(sample,key = lambda x: sample[x][2])
print(b)
[1, 2]
'알고리즘' 카테고리의 다른 글
[프로그래머스] 위장 파이썬 C++ (0) | 2021.05.03 |
---|---|
[프로그래머스] 전화번호 목록 (0) | 2021.05.03 |
C++ 코딩테스트 끄적끄적 (0) | 2021.04.20 |
[프로그래머스] 완주하지 못한 선수 (파이썬, C++) (0) | 2021.04.20 |