| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 파이썬
- 소프트웨어
- 자바스크립트
- 인공지능
- 컴퓨터비전
- 사이버보안
- 보안
- 머신러닝
- 컴퓨터공학
- 네트워크
- 데이터베이스
- 네트워크보안
- Yes
- 컴퓨터과학
- 버전관리
- I'm Sorry
- 소프트웨어공학
- 디자인패턴
- 데이터구조
- springboot
- 자료구조
- 클라우드컴퓨팅
- 웹개발
- 프로그래밍언어
- 딥러닝
- 프로그래밍
- 데이터분석
- 데이터과학
- 알고리즘
- 빅데이터
- Today
- Total
스택큐힙리스트
딕셔너리 값으로 목록을 정렬하는 방법은 무엇인가요? 본문
특정 키 값으로 딕셔너리 목록을 정렬하는 방법은 무엇인가요? 주어진 것은:
[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
name으로 정렬하면 다음과 같아야합니다:
[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]
답변 1
sorted() 함수는 key= 매개변수를 사용합니다.
newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])
대신하여, 함수를 직접 정의하지 않고 operator.itemgetter을(를) 사용할 수 있습니다.
from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
완전함을 위해 reverse=True 를 내림차순으로 정렬하세요.
newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)
답변 2
리스트는 여러 값을 가질 수 있는 데이터 유형입니다. 딕셔너리는 키와 값을 가지며, 딕셔너리의 값을 기준으로 정렬하는 것이 필요한 경우가 있습니다. 파이썬에서는 이를 간단하게 수행할 수 있습니다.
먼저, 리스트를 만들고 딕셔너리를 추가합니다. 이후, lambda 함수를 사용하여 딕셔너리의 특정 값으로 정렬할 수 있습니다. 예를 들어, 딕셔너리의 'age' 값을 사용하여 리스트를 정렬하고 싶다면 다음과 같이 작성할 수 있습니다:
```python
my_list = [
{'name': 'John', 'age': 25},
{'name': 'Jane', 'age': 20},
{'name': 'Bob', 'age': 30}
]
my_list.sort(key=lambda x: x['age'])
```
위 코드에서, lambda 함수는 각 딕셔너리를 입력으로 받고 해당 딕셔너리에서 'age' 값을 반환합니다. 이를 기준으로 리스트를 정렬하며, 결과는 다음과 같습니다:
```python
[{'name': 'Jane', 'age': 20},
{'name': 'John', 'age': 25},
{'name': 'Bob', 'age': 30}]
```
이를 통해 딕셔너리의 값을 기준으로 리스트를 정렬하는 방법을 알아보았습니다. 이는 파이썬에서 많이 사용되는 기능 중 하나이며, 데이터 정렬에 필수적입니다. 따라서 프로그래머라면 이를 잘 활용할 수 있도록 학습해야 합니다.