반응형
Dictionary Filter
score_dict = {
'sam':23,
'john':30,
'mathew':29,
'riti':27,
'aadi':31,
'sachin':28
}
이런 dictionary 가 있을 때
30점이 넘는 사람만 가지는 dictionary 를 얻고 싶다면,
기본 적으로 for 문을 이용해서 새로운 dictionary 를 만들면
over_30_dict = {}
for key in score_dict.keys() :
if score_dict.get(key) >= 30 :
over_30_dict[key] = score_dict.get(key)
이런식이겠죠?
좀 더 간편한 방법을 써보면,
over_30_dict = dict(filter(lambda elem:elem[1]>=30, score_dict.items()))
이렇게 한줄로 쓸수 있습니다.
score_dict.items() 에서
lambda elem:elem[1]>=30 각요소의 두번째값이 30 이상인것들만
filter() : 필터을 걸어서
dict() : 새로운 dictionary를 만듬.
dictionary 외에도 활용할 수 있겠네요.
2019/02/15 - [Python] - [python] Dictionary 의 특정 값의 sum, max, min 값 가져오기
2019/02/14 - [Python] - [python]list dictionary sort multiple (여러 키로 정렬시키기)
2019/02/13 - [Python] - python dictionary 에서 max 값 가져오기 (key or value)
728x90
반응형
'Python' 카테고리의 다른 글
[Jupyter Theme] 주피터 테마 설치 (0) | 2019.12.17 |
---|---|
[Python] Dictionary Sort (정렬) lambda (2) | 2019.11.05 |
[Python] MySQL connect , 간단 사용법 (0) | 2019.10.22 |
Tensorflow 2.0 release 이후 설치 방법 (0) | 2019.10.21 |
[Python] python 설치 on Mac (0) | 2019.08.13 |
댓글