[Python] Dictionary 자료형 정렬 방법 정리

sorted 함수 활용

다음과 같이 딕셔너리 자료형 변수를 만들 수 있다.

    '''
    result = 
    {"name" : "kim kyeonghee", "number" : "23549960", 
     "address" : "Korea"}
    '''


key 기준 정열

기본적으로 딕셔너리 자료형은 기준이 key이기 때문에 value 값을 지정해주지 않으면 key 기준으로 정렬된다.

아래와 같이 items 함수를 이용하면 key-value 쌍을 얻을 수 있다

sorted(result.items())

결과는 다음과 같다.

[('address', 'Korea'), ('name', 'kim kyeonghee'), ('number', 23549960)]

key-value 값이 튜플 형태로 감싸줘서 리턴이 됐다. 정렬 기준은 key 기준이다



key만 따로 정렬해서 얻고싶으면 아래와 같이 하면 된다.

sorted(result.keys())
['address', 'name', 'number']


딕셔너리는 기준이 key값이기 때문에 아래와 같이 key를 지정하지 않아도 동일한 결과값이 나온다

sorted(result)
['address', 'name', 'number']


value 기준으로 정렬

value만 따로 정렬해서 얻고싶으면 아래와 같이 하면 된다.

sorted(result.values())
['23549960', 'Korea', 'kim kyeonghee']


또다른 방법은 sorted 함수에 key 옵션을 주면 된다.
key옵션 인자로는 lambda 표현식을 주었다.

lambda 표현식을 사용하면 함수를 간단하게 만들 수 있다.
lambda 표현식은 함수 특성을 한 줄로 간단히 작성할 수 있어서
함수 매개변수나 옵션에 함수를 넣고 싶을 때 lambda를 사용하면 용이하다.


람다 사용 예

lambda 인자 : 표현식


sorted(dics, key=lambda x : dics[x], reverse=True)

좋은 웹페이지 즐겨찾기