그래도 개발자일 때 좋았다

Python Dictionary List 정렬 본문

Development/Python

Python Dictionary List 정렬

실러캔스 2018. 3. 29. 23:10

살다보니 Python을 쓰게되는 경우가 많아졌다. 특히나 프로그램 언어에 익숙치 않은 사람들과 협업을 해야할 경우 Python을 많이 사용했는데, 매번 Java처럼 구현을 하다보니 Python 답지 않은 경우가 많다. 정렬의 경우 Java도 굉장히 많은 방법을 제공하고 있지만, Python은 특히나 쉽게 정렬할 수 있는 내장 함수를 많이 제공한다.


Dictionary 형태의 데이터가 List에 들어가있을 경우 Dictionary의 특정 키값을 가지고 List를 정렬해야하는 경우가 있다.

예를 들어서 아래와 같은 데이터가 있다고 치면,

[
   {'Name': 'Tom', 'Age': 30}, 
   {'Name': 'Jack', 'Age': 31}, 
   {'Name': 'Sue', 'Age': 32}
]

여기서 Name키를 가지고 정렬을 한다고 할 경우 아래와 같이 sorted 함수를 사용할 경우 쉽게 정렬할 수 있다.

>>> arr = [{'Name': 'Tom', 'Age': 30}, {'Name': 'Jack', 'Age': 31}, {'Name': 'Sue', 'Age': 32}]
>>> arr # 현재값 출력
[{'Age': 30, 'Name': 'Tom'}, {'Age': 31, 'Name': 'Jack'}, {'Age': 32, 'Name': 'Sue'}]
>>> sorted(arr, key=lambda k: k['Name']) # 정렬된값 출력
[{'Age': 31, 'Name': 'Jack'}, {'Age': 32, 'Name': 'Sue'}, {'Age': 30, 'Name': 'Tom'}]

참고:

https://stackoverflow.com/questions/72899/how-do-i-sort-a-list-of-dictionaries-by-values-of-the-dictionary-in-python

'Development > Python' 카테고리의 다른 글

Python Dictionary List 검색  (1) 2017.05.21
Comments