파이썬(python) 리스트 딕셔너리(list dictionary, map) 정렬(sort)
안녕하세요.
이번 포스팅은 파이썬 자료형 중
리스트(List), 딕셔너리(dictionary)의 정렬에 대해 포스팅하겠습니다.
리스트와 딕셔너리의 자료형에 대해 궁금하신분은
따로 검색 하시길 권장드립니다.
저는 자바를 많이 해서그런지 list 안에 map 이 있는 형태에서
map의 key값을 기준으로 정렬을 원했습니다.
파이썬에서는 map이 딕셔너리(dictionary) 라고 보시면 됩니다.
일반적인 리스트 정렬
그럼 소스를 통해 알아보겠습니다.
# list sort list_sort = [1,5,3,2,4,5,6,7,9,10,13,12] print(list_sort)
일반적인 List를 선언하고 자료를 입력 하였습니다.
순서를 뒤죽박죽 넣었기때문에 당연히 정렬이 안된 상태 입니다.
여기에 .sort() 함수를 사용해 정렬해 보겠습니다.
list_sort.sort() print(list_sort)
두 소스를 출력한 결과 입니다.
리스트 안에 딕셔너리있는 형태의 정렬
기본적으로 딕셔너리는 다음과 같은 형태로 선언합니다.
seq_map = {"order_seq" : 1, "seq" : 1}
저는 이러한 딕셔너리를 리스트안에 넣으려고 합니다.
# list dictionary(map) sort seq_map = {"order_seq" : 1, "seq" : 1} list_sort.append(seq_map) seq_map = {"order_seq" : 10, "seq" : 9} list_sort.append(seq_map) seq_map = {"order_seq" : 3, "seq" : 7} list_sort.append(seq_map) seq_map = {"order_seq" : 2, "seq" : 2} list_sort.append(seq_map) seq_map = {"order_seq" : 7, "seq" : 5} list_sort.append(seq_map) seq_map = {"order_seq" : 5, "seq" : 3} list_sort.append(seq_map) print(list_sort)
이번에도 뒤죽박죽으로 데이터를 입력하였습니다.
sorted 함수를 사용하여 정렬하겠습니다.
seq_list_sort = sorted(list_sort, key=(lambda x : int(x['order_seq'])))
저는 딕셔너리의 'order_seq'에 대해 정렬을 하였습니다.
저는 숫자형태의 정렬을 원했기 때문에 int()로 묶어 주었습니다.
문자의 정렬은 그냥 사용하시면 됩니다.
다음은 출력 결과 입니다.
그림이 작아 잘 안보이지만
order_seq의 값으로 정렬되었습니다.
모두 좋은하루 보내세요.
'개발 > python, 딥러닝' 카테고리의 다른 글
파이썬 txt 파일 읽고 쓰기(file write) (0) | 2020.12.21 |
---|---|
파이썬 파일 복사 및 삭제(하위 디렉토리 포함 삭제) (0) | 2020.12.20 |
라벨링 데이터 회전하여 증분 90도 180도 (python labeling data rotate) (2) | 2020.06.26 |
파이썬 xml 태그값 가져오기 및 파싱 (0) | 2020.06.25 |
파이참 아나콘다 가상환경 사용하기 (2) | 2020.06.23 |
파이참(pycharm) SSL 통신 옵션 해제 (0) | 2020.06.04 |
ipynb파일 py 파일로 변환(pip install ssl 에러 해결) (0) | 2020.06.02 |