본문 바로가기
개발/Algorithm 문제 풀이

[Python] Dictionary 정렬

by DenverAlmighty 2020. 8. 19.
반응형

1.  Key 로 정렬

dic = {'a':100, 'lala':5, 'python':40}

# key기준 오름차순 정렬
dicSortByKey = sorted(dic.items())
print(dicSortByKey)
#[('a', 100), ('lala', 5), ('python', 40)]



# key기준 내림차순 정렬
dicSortByKey = sorted(dic.items(), reverse = True)
print(dicSortByKey)
#[('python', 40), ('lala', 5), ('a', 100)]

위에꺼는 key 오름차순 정렬되어 a - lala - python 으로 정렬되었다.

아래는 key내림차순 정렬되어 python - lala - a 로 정렬되었다.

 

2. Value로 정렬

dic = {'a':100, 'lala':5, 'python':40}

# value 기준 오름차순 정렬
dicSortByValue = sorted(dic.items(), key = (lambda x : x[1]))
print(dicSortByValue)
#[('lala', 5), ('python', 40), ('a', 100)]



# value 기준 내림차순 정렬
dicSortByValue = sorted(dic.items(), key = (lambda x : x[1]), reverse=True)
print(dicSortByValue)
#[('a', 100), ('python', 40), ('lala', 5)]

위에꺼는 value 오름차순 정렬되어 5 - 40 100 으로 정렬되었다.

아래는 value 내림차순 정렬되어 100 - 40 - 5 로 정렬되었다.

 

 

 

 

* 참고로 내림차순 정렬하려면 ,reverse = True 추가하면된다

오름차순이랑 내림차순 헷갈려......

728x90
반응형