728x90
dict_info = {
'A' : 65,
'B' :176,
'C' : 30,
'D' :135,
'E' : 50,
'F' :153,
'G' : 90,
'H' :171
}
1. Key 값만 정렬해서 출력
#1. key값만 알파벳 순서대로 정렬
sorted(dict_info)
#1-1 역순일 경우,
dict_info = sorted(dict_info, reverse=True)
2.Value 값만 정렬해서 출력
# Value의 값을 정렬해서 출력
dict_info = sorted(dict_info.values())
# 역순일 경우
dict_info = sorted(dict_info.values(), reverse=True)
3. Key값을 기준으로 사전형 전체를 출력
#3. Key값을 기준으로 dict를 정렬해서 출력
sorted(dict_info.items(), key=lambda x: x[0])
# 역순으로 출력(큰 순서대로)
sorted(dict_info.items(), key=lambda x: x[0], reverse=True)
4.Value값을 기준으로 사전형 전체를 출력
# Value값을 기준으로 dict를 정렬해서 출력
sorted(dict_info.items(), key=lambda x: x[1])
# 역순으로 출력(큰 순서대로)
sorted(dict_info.items(), key=lambda x: x[1], reverse=True)
5.사전형이 담긴 리스트를 정렬하기
list_info =
[{'kg' : 65, 'cm':176},
{'kg' : 30, 'cm':135},
{'kg' : 50, 'cm':153},
{'kg' : 65, 'cm':190},
{'kg' : 63, 'cm':152},
{'kg' : 90, 'cm':171}]
print(sorted(list_info, key=lambda x: (x['kg'])))
# 여러 개 기준일 경우, 적은 순서대로 정렬됨 (1.kg, 2.cm)
print(sorted(list_info, key=lambda x: (x['kg'], x['cm'])))
# 내림 차순으로 할 경우
print(sorted(list_info, key=lambda x: (x['kg'], x['cm']), reverse=True))
lambda? 람다란?
재사용이 불가능한 1회성 함수를 람다함수라고 합니다.
람다의 사용법은 다음과 같습니다.
lambda [변수]: [함수 내용]
파이썬에서는 사전형에서 dict값은 {key: value} 구조를 지니기 때문에
x[0] 으로 하면 key 값이 되고, x[1]로 설정하면 value값을 기준으로 됩니다.
lambda 함수를 왜 쓰냐고 하면, 함수를 쓰긴 써야겠는데
다음과 같이 단순한 구조의 함수 같은 경우엔 일일이 def func()를 쓰는게 더 번거롭기 때문입니다.
그리고, 이렇게 쓴 def func()의 함수 구조는 다음에도 쓸 수 있다면, 유용하겠지만 한번만 쓰고 만다면
깔끔하게 리팩토링하는 경우가 아니라면, 배보다 배꼽이 더 큰 상황이 벌어지기 때문입니다.
감사합니다.
[참고] : inma.tistory.com/138
728x90
'Programming Language > Python' 카테고리의 다른 글
애플워치로 HRV 데이터 추출하기 (2) | 2021.07.02 |
---|---|
[python] joblib.load() 에러 (0) | 2021.05.12 |
[Python] Albumentations를 이용한 데이터 증강 및 실험 (0) | 2021.03.18 |
[Python] GIL 관련 OS, 컴퓨터구조가 중요한 이유 (0) | 2021.02.18 |
[Python] Multiprocessing으로 속도 개선해보기 (0) | 2021.02.01 |