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에서 사전 목록을 정렬하는 두 가지 방법이 있습니다. 먼저 sorted 및 sort 기능을 사용했습니다. 사전 목록을 정렬하려면 모든 사전에서 공통 키의 값을 사용합니다.
이 값을 반환하고 두 함수 모두에서 key 매개변수로 지정하는 함수를 만듭니다. 이를 위해 lambda 및 operator.itemgetter 방법에 대해 논의했습니다.
내림차순으로 결과를 얻으려면 reverse 매개변수를 사용하고 True로 설정할 수 있습니다. 브라보! Python에서 사전 목록을 정렬하는 방법을 성공적으로 배웠습니다.
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