Python에서 목록 목록 정렬

Samyak Jain 2023년10월10일
  1. 연산자 모듈에서sorted()함수와 함께itemgetter()함수를 사용하여 Python에서 목록 목록 정렬
  2. sorted()함수와 함께lambda표현식을 사용하여 Python에서 목록 목록 정렬
  3. sort()함수를 사용하여 Python에서 목록 목록 정렬
Python에서 목록 목록 정렬

목록은 Python에서 사용되는 가장 강력한 데이터 구조 중 하나입니다. 요구 사항에 따라 모든 요소를 ​​오름차순 또는 내림차순으로 정렬하여 Python에서 목록을 정렬 할 수 있습니다.

파이썬에서 중첩 된 목록을 가질 수도 있습니다. 이것들은 목록의 목록으로 생각할 수 있습니다. 목록 목록을 정렬하면 지정된 색인에 따라 모든 내부 목록이 키로 정렬됩니다.

이 자습서에서는 일부 인덱스를 기반으로 Python의 목록 목록을 정렬합니다.

연산자 모듈에서sorted()함수와 함께itemgetter()함수를 사용하여 Python에서 목록 목록 정렬

sorted()함수는 Python에서 목록을 정렬하는 데 사용됩니다. 기본적으로 목록을 오름차순으로 정렬합니다. 연산자 모듈의itemgetter()함수는 색인 번호를 매개 변수로 사용하고 해당 색인 번호에 배치 된 데이터 세트에서 요소를 리턴합니다.

따라서sorted(List_name, key=itemgetter(index_number))함수는 각 내부 목록의 지정된 index_number에 위치한 요소별로 목록 목록을 정렬합니다.

예를 들면

from operator import itemgetter

A = [[10, 8], [90, 2], [45, 6]]
print("Sorted List A based on index 0: % s" % (sorted(A, key=itemgetter(0))))
B = [[50, "Yes"], [20, "No"], [100, "Maybe"]]
print("Sorted List B based on index 1: % s" % (sorted(B, key=itemgetter(1))))

출력:

Sorted List A based on index 0: [[10, 8], [45, 6], [90, 2]]
Sorted List B based on index 1: [[100, 'Maybe'], [20, 'No'], [50, 'Yes']]

목록 목록을 내림차순으로 정렬하려면reverse매개 변수를key매개 변수 및sorted()함수의 목록 이름과 함께 사용합니다.

예를 들면

from operator import itemgetter

C = [[10, 8, "Cat"], [90, 2, "Dog"], [45, 6, "Bird"]]
print(
    "Reversed sorted List C based on index 1: % s"
    % (sorted(C, key=itemgetter(1), reverse=True))
)

출력:

Reverse sorted List C based on index 1: [[10, 8, 'Cat'], [45, 6, 'Bird'], [90, 2, 'Dog']]

sorted()함수와 함께lambda표현식을 사용하여 Python에서 목록 목록 정렬

lambda표현식은 Python의 간단한 한 줄 함수입니다.

sorted(List_name, key=lambda x:x[index_number])함수는 각 내부 목록의 지정된 index_number에 위치한 요소별로 목록 목록을 정렬하는 데 사용됩니다.

예를 들면

A = [[100, "Yes"], [40, "Maybe"], [60, "No"]]
print("Sorted List A based on index 0: % s" % (sorted(A, key=lambda x: x[0])))
B = [[2, "Dog"], [0, "Bird"], [7, "Cat"]]
print("Sorted List A based on index 1: % s" % (sorted(B, key=lambda x: x[1])))

출력:

Sorted List A based on index 0: [[40, 'Maybe'], [60, 'No'], [100, 'Yes']]
Sorted List B based on index 1: [[0, 'Bird'], [7, 'Cat'], [2, 'Dog']]

마찬가지로reverse매개 변수를 사용하여 내림차순으로 출력을 얻을 수 있습니다.

예를 들면

C = [[60, 5], [90, 7], [30, 10]]
print(
    "Reversed sorted List C based on index 0: % s"
    % (sorted(C, key=lambda x: x[0], reverse=True))
)

출력:

Reversed sorted List C based on index 0: [[90, 7], [60, 5], [30, 10]]

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

sort()메소드는 각 내부 목록의 첫 번째 요소에 따라 Python의 목록 목록을 정렬합니다. 이 메서드는 원래 목록 자체를 변경합니다. reverse매개 변수를 사용하여 내림차순으로 정렬합니다.

예를 들면

A = [[55, 90], [45, 89], [90, 70]]
A.sort()
print("New sorted list A is % s" % (A))
A.sort(reverse=True)
print("New reverse sorted list A is % s" % (A))

출력:

New sorted list A is [[45, 89], [55, 90], [90, 70]]
New reverse sorted list A is [[90, 70], [55, 90], [45, 89]]

내부 목록의 길이에 따라 주어진 목록을 정렬하기 위해key=len매개 변수가 사용됩니다.

예를 들면

A = [[5, 90, "Hi", 66], [80, 99], [56, 32, 80]]
A.sort(key=len)
print("New sorted list A is % s" % (A))

출력:

New sorted list A is [[80, 99], [56, 32, 80], [5, 90, 'Hi', 66]]

관련 문장 - Python List