Python

[Python] 파이썬 딕셔너리(dictionary) 정렬(reverse) 하는 방법 : sorted() 키값 기준 정렬, lambda x:x[1] 의미는?

파이썬에서 딕셔너리 자료형을 키 값 기준으로 정렬하는 방법과 리스트를 정렬하는 방법에 대해 알아봅니다. 

sorted()함수를 사용하여 정렬할 수 있습니다.

 

■key값을 기준으로 정렬하기 (기본 오름차순) 

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_dict = sorted(dict_value.keys())
print(sort_dict)


#실행결과
['Python', '코딩', '파이썬', '프로그래밍']

 

■key값을 기준으로 내림차순 정렬하기

sorted()함수의 인자값 중 reverse 인자의 값을 True로 적용하면 내림차순이 됩니다. 기본값은 False입니다.

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_desc_dict = sorted(dict_value.keys(), reverse=True)
print(sort_desc_dict)


#실행결과
['프로그래밍', '파이썬', '코딩', 'Python']

 

■value값을 기준으로 정렬하기(오름차순)

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}
  
sort_dict = sorted(dict_value.values())
print(sort_dict)


#실행결과
[1, 1, 2, 4]

 

■value값을 기준으로 내림차순 정렬하기

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_dict = sorted(dict_value.values(), reverse=True)
print(sort_dict)


#실행결과
[4, 2, 1, 1]

 

■키와 값 쌍 기준으로 정렬하기

sorted()함수를 사용하여 딕셔너리를 정렬할때 , items()를 사용하는 경우 튜플자료형 타입으로 리턴됩니다.

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_dict = sorted(dict_value.items())  #튜플자료형으로 리턴됨
print(sort_dict)

#실행결과
[('Python', 1), ('코딩', 2), ('파이썬', 4), ('프로그래밍', 1)]



for key, value in sort_dict:
    print(key, ":", value)    
        
#실행결과
Python : 1
코딩 : 2
파이썬 : 4
프로그래밍 : 1
['프로그래밍', '파이썬', '코딩', 'Python']

 

■키와 값 쌍 기준으로 내림차순 정렬하기

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_desc_dict = sorted(dict_value.items(), reverse=True)
print(sort_desc_dict)

#실행결과
[('프로그래밍', 1), ('파이썬', 4), ('코딩', 2), ('Python', 1)]


for key, value in sort_desc_dict:
    print(key, ":", value)
    
    
#실행결과
프로그래밍 : 1
파이썬 : 4
코딩 : 2
Python : 1

 

■람다식(lamda)을 사용하여 정렬하는 방법(오름차순 ASC)

람다식에서 x[0]의 의미는 키(key)값 기준으로 정렬을 의미합니다. x[1]은 값을 기준으로 정렬한다는 것을 의미합니다.

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_desc_dict = sorted(dict_value.items(), key=lambda x: x[0])
print(sort_desc_dict)

#실행결과
[('Python', 1), ('코딩', 2), ('파이썬', 4), ('프로그래밍', 1)]
dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_desc_dict = sorted(dict_value.items(), key=lambda x: x[1])
print(sort_desc_dict)

#실행결과
[('프로그래밍', 1), ('Python', 1), ('코딩', 2), ('파이썬', 4)]

 

■람다식(lamda)을 사용하여 내림차순 정렬하는 방법(DESC)

dict_value = {"파이썬": 4, "코딩": 2, "프로그래밍": 1, "Python": 1}

sort_desc_dict = sorted(dict_value.items(), key=lambda x: x[0], reverse=True)
print(sort_desc_dict)

#실행결과
[('프로그래밍', 1), ('파이썬', 4), ('코딩', 2), ('Python', 1)]

 

 

[파이썬 더 알아보기]

[프로그래밍/Python] – [Python] 파이썬 문자열 함수 사용 예제 및 총정리 : split,join,replace,공백제거(rstrip,lstrip),lower,upper,index,count,len

[프로그래밍/Python] – [Python] 파이썬 list, tuple, dictionary,set 예제 및 총정리

[프로그래밍/Python] – [Python] 파이썬 리스트(list) 값 삭제하는 방법 총정리: remove(), del(), clear(), pop()

[프로그래밍/Python] – [Python:자료구조] 파이썬 큐(Queue) , 우선순위 큐(PriorityQueue) 사용방법 및 예제 총정리

[프로그래밍/Python] – [Python] 파이썬 날짜 시간 계산 , 날짜 및 시간 표기법 예제 및 총정리 : datetime, timedelta

[프로그래밍/Python] – [Python] 파이썬 소수점 반올림, 돈 표기 방법 : 천단위 콤마(쉼표) 찍기( 천단위 구분 기호 추가), 숫자 콤마 제거

Leave a Reply

error: Content is protected !!