클라우드 낚시꾼

[Python3] 딕셔너리 정렬하기 with lambda 본문

Programming Language/Python 활용

[Python3] 딕셔너리 정렬하기 with lambda

KanuBang 2024. 3. 20. 17:15
728x90

1. lambda 개념

double = lambda x: x * 2
print(double(5))  # 출력: 10

 

파이썬의 lambda는 익명함수이다. 값을 받고 리턴하는 간단한 함수를 빠르게 작성할 수 있게 해준다. 위 예시 코드에서 x는 매개변수, x * 2는 리턴할 결과값이다.


2. lambda를 이용해서 딕셔너리를 정렬해보자.

dict = {
    	2: 3,
    	1: 3,
    	3: 5,
    	6: 3,
    	5: 2
}

 

위와 같은 딕셔너리를 선언했다고 해보자.

 

딕셔너리의 key 값으로 오름차순 정렬하여 key 값 출력하기

'''
딕셔너리의 키값들을 매개변수 x에 넣어 x로 정렬하며 키값을 출력한다.
'''
print(sorted(dict.keys(), key=lambda x: x)) # 결과값 : [1,2,3,5,6]

 

딕셔너리의 value 값으로 오름차순 정렬하여 value 값 출력하기

'''
딕셔너리의 value값들을 매개변수 x에 넣어 x로 정렬하며 value값을 출력한다.
'''
print(sorted(dict.values(), key=lambda x: x))
#결과값 : [2,3,3,3,5]

 

딕셔너리의 value 값으로 오름차순 정렬하여 key 값 출력하기

'''
딕셔너리의 key 값들을 매개변수 x에 넣어 dict[x] 즉 dict의 value 값으로로 정렬하며
key값을 출력한다.
'''
print(sorted(dict, key=lambda x: dict[x])) #결과값 : [5, 2, 1, 6, 3]

 

딕셔너리의 key, value 쌍들을 매개변수 x에 넣어 key 값 정렬하며 key, value 쌍들을 출력

'''
딕셔너리의 키,값 쌍들을 매개변수 x에 넣어 키값 
정렬하며 키값을 출력한다.
'''
print(sorted(dict.items(), key=lambda x: x[0]))
#결과값 : [(1, 3), (2, 3), (3, 5), (5, 2), (6, 3)]

 

딕셔너리의 value 값으로 오름차순 정렬하여 key 값 출력하기

my_dict = {'apple': 3, 'banana': 1, 'cherry': 2}

# 딕셔너리의 값을 기준으로 정렬하여 (key, value) 튜플의 리스트를 생성합니다.
sorted_items = sorted(my_dict.items(), key=lambda x: x[1])

# 정렬된 (key, value) 튜플 리스트에서 키만 추출하여 리스트로 만듭니다.
sorted_keys = [item[0] for item in sorted_items]

print(sorted_keys) # 출력: ['banana', 'cherry', 'apple']
728x90