Python에서 사전 목록 정렬

Manav Narula 2023년6월21일
  1. Python에서 sorted() 함수를 사용하여 사전 목록 정렬
  2. Python에서 sort() 함수를 사용하여 사전 목록 정렬
Python에서 사전 목록 정렬

목록은 특정 인덱스에 모든 요소를 저장하여 배열을 에뮬레이트할 수 있는 Python의 선형 컬렉션 객체입니다. 목록은 키-값 쌍을 포함하는 사전과 같은 다른 객체도 저장할 수 있습니다.

이 자습서는 Python에서 사전 목록을 정렬하는 방법을 보여줍니다.

Python에서 sorted() 함수를 사용하여 사전 목록 정렬

이 함수는 기존 목록을 가져와 정렬된 목록을 반환합니다. 목록을 오름차순 또는 내림차순으로 정렬할 수 있습니다. 요소의 순서를 결정하는 기능을 제공하는 key 매개변수를 지정할 수도 있습니다.

sorted() 함수를 사용하여 사전 목록을 정렬하면 이점을 얻을 수 있습니다. 그러나 비교 연산자를 사용하여 사전 인스턴스를 비교하는 것은 간단하지 않습니다. key 매개변수를 사용해야 합니다.

의 값을 기준으로 목록을 정렬할 수 있습니다. 이에 대한 또 다른 조건은 해당 가 목록의 모든 사전에서 공통적이라는 것입니다.

이제 이에 대한 예를 살펴보겠습니다.

lst = [{"n": 1}, {"n": 4}, {"n": 2}]
print(sorted(lst, key=lambda d: d["n"]))

출력:

[{'n': 1}, {'n': 2}, {'n': 4}]

위의 예에는 이 키의 값을 기준으로 정렬하는 동일한 키 n이 있는 사전이 있습니다. sorted() 함수의 key 매개변수를 사용하여 lambda 함수를 할당합니다.

이 한 줄 함수는 매개변수가 이 와 연관된 값을 고려하여 정렬하도록 지시합니다. lambda 함수 대신 operator.itemgetter() 함수를 사용할 수도 있습니다.

이 함수를 사용하여 사전에서 값을 가져와 비교에 사용할 수 있습니다. 아래 코드를 참조하십시오.

import operator

lst = [{"n": 1}, {"n": 4}, {"n": 2}]
print(sorted(lst, key=operator.itemgetter("n")))

출력:

[{'n': 1}, {'n': 2}, {'n': 4}]

reverse 매개변수를 사용하고 True로 설정하여 목록을 내림차순으로 정렬할 수도 있습니다. 예를 들어 다음 코드 펜스를 참조하세요.

import operator

lst = [{"n": 1}, {"n": 4}, {"n": 2}]
print(sorted(lst, key=operator.itemgetter("n"), reverse=True))

출력:

[{'n': 4}, {'n': 2}, {'n': 1}]

위의 예는 목록이 내림차순으로 정렬되었음을 보여줍니다.

Python에서 sort() 함수를 사용하여 사전 목록 정렬

sort() 함수는 목록 정렬을 위한 sorted 메소드와 유사하게 작동합니다. 주요 차이점은 sort() 함수가 원래 목록의 순서를 변경하고 후자는 새 목록을 생성한다는 것입니다.

operator.itemgetter()lambda 기능과 함께 sorted 기능을 사용한 것과 같은 방식으로 sort() 메소드를 사용할 수 있습니다.

이전 예제에서와 마찬가지로 key 매개변수를 사용합니다. reverse 매개 변수를 사용하여 목록을 내림차순으로 정렬할 수도 있습니다.

아래 코드를 참조하십시오.

import operator

lst1 = [{"n": 1}, {"n": 4}, {"n": 2}]
lst2 = [{"n": 5}, {"n": 1}, {"n": 3}]
lst1.sort(key=lambda d: d["n"])
lst2.sort(key=operator.itemgetter("n"), reverse=True)
print(lst1, lst2)

출력:

[{'n': 1}, {'n': 2}, {'n': 4}] [{'n': 5}, {'n': 3}, {'n': 1}]

위의 예는 원래 목록이 필수 에 따라 수정되고 정렬되었음을 보여줍니다.

첫 번째 목록은 lambda 기능을 사용합니다. 두 번째는 operator.itemgetter 메서드를 사용하고 reverse 매개변수를 사용하여 목록을 내림차순으로 정렬합니다.

따라서 Python에서 사전 목록을 정렬하는 두 가지 방법이 있습니다. 먼저 sortedsort 기능을 사용했습니다. 사전 목록을 정렬하려면 모든 사전에서 공통 의 값을 사용합니다.

이 값을 반환하고 두 함수 모두에서 key 매개변수로 지정하는 함수를 만듭니다. 이를 위해 lambdaoperator.itemgetter 방법에 대해 논의했습니다.

내림차순으로 결과를 얻으려면 reverse 매개변수를 사용하고 True로 설정할 수 있습니다. 브라보! Python에서 사전 목록을 정렬하는 방법을 성공적으로 배웠습니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

관련 문장 - Python List