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