파이썬에서 JSON 데이터를 다룰 때, 특정 키 값을 기준으로 정렬해야 하는 경우가 많다.
이 글에서는 sorted() 함수의 key 매개변수를 활용하여 JSON 데이터를 정렬하는 방법을 설명한다.
✅ JSON 데이터를 특정 키 값으로 정렬하기
1️⃣ 정렬할 JSON 데이터 예시
우리는 다음과 같은 JSON 데이터를 다룬다고 가정한다.
#많이 보이는 json data
json_data = [
{ 'blogSite' : 'tistory',
'blogUrl' : 'http://yuneenelife.tistory.com',
'blogCategory' : 'IT'
},
{ 'blogSite' : 'naver',
'blogUrl' : 'http://blog.naver.com/yuneenelife',
'blogCategory' : 'trip'
}
]
여기서 blogUrl을 기준으로 오름차순 정렬하고 싶다고 가정한다.
2️⃣ sorted() 함수 활용하여 정렬하기
파이썬의 sorted() 함수를 사용하면 특정 키 값을 기준으로 정렬할 수 있다.
sorted_json_data = sorted(json_data, key=lambda x: x['blogUrl'], reverse=False)
✅ 설명:
• key=lambda x: x['blogUrl'] → blogUrl 값을 기준으로 정렬
• reverse=False → 오름차순 정렬 (기본값)
• reverse=True → 내림차순 정렬
3️⃣ 정렬 결과 확인하기
정렬된 데이터를 출력하면 다음과 같다.
print("정렬 전:", json_data)
print("정렬 후:", sorted_json_data)
🖥️ 출력 결과:
정렬 전:
[
{'blogSite': 'tistory', 'blogUrl': 'http://yuneenelife.tistory.com', 'blogCategory': 'IT'},
{'blogSite': 'naver', 'blogUrl': 'http://blog.naver.com/yuneenelife', 'blogCategory': 'trip'}
]
정렬 후:
[
{'blogSite': 'naver', 'blogUrl': 'http://blog.naver.com/yuneenelife', 'blogCategory': 'trip'},
{'blogSite': 'tistory', 'blogUrl': 'http://yuneenelife.tistory.com', 'blogCategory': 'IT'}
]
blogUrl을 기준으로 오름차순 정렬된 것을 확인할 수 있다.
📌 정리
1. JSON 데이터를 정렬할 때 sorted() 함수를 사용한다.
2. key=lambda x: x['정렬할 키']를 설정하면 해당 키 값을 기준으로 정렬된다.
3. 오름차순 정렬은 reverse=False, 내림차순 정렬은 reverse=True를 사용한다.
4. 정렬 후 새로운 리스트가 반환되므로, 기존 데이터를 유지하면서 정렬된 데이터를 따로 저장할 수 있다.
이 방법을 활용하면 JSON 데이터를 원하는 기준으로 쉽게 정렬할 수 있다. 🚀
🔗 lambda 함수 관련 글은 이전 글 참고
파이썬 람다 함수 lambda (with 백준 1181)
lambda (람다) 표현식 lambda 키워드로 함수로 사용할 수 있으며 일반적인 함수 정의의 편의 문법임.lambda a, b: a+b 와 같이 함수 객체가 있는 곳이면 어디나 lambda 함수가 사용될 수 있다. 제약 문법적
yuneenelife.tistory.com
🔗 파이썬 정렬 관련 글은 이전 글 참고
파이썬 정렬 sort, sorted (with 백준 2750, 5597, 1181)
파이썬 정렬은 sort(), sorted()를 사용한다. 내장함수 sort()이 메서드는 리스트 내 항목 간의 비교만 사용하여 정렬한다.정렬 후 리스트는 수정된 상태로 유지된다.반환값이 없다.리스트 타입만 사
yuneenelife.tistory.com
'코딩라이브러리 > 파이썬' 카테고리의 다른 글
AWS Rekognition 부적절한 이미지를 판별하는 파이썬 코드 알아보기 (0) | 2025.04.11 |
---|---|
aws rekognition 사용하기 위한 로컬 환경설정 (0) | 2025.04.10 |
[파이썬] 백준 24052 알고리즘 수업 삽입 정렬 2 (0) | 2024.07.16 |
[파이썬] 백준 24051 알고리즘 수업 삽입 정렬 1 (0) | 2024.07.12 |
[파이썬] 백준 23969 알고리즘 수업 버블 정렬 2 (0) | 2024.07.03 |