Python에서 내림차순으로 목록 정렬

Rayven Esplanada 2022년12월26일
Python에서 내림차순으로 목록 정렬

이 자습서에서는 Python에서 내림차순으로 목록을 정렬하는 방법을 보여줍니다.

sort()메소드를 사용하여 Python에서 내림차순으로 목록 정렬

파이썬에는sort()라는 내장 함수가 있으며, 기본적으로 목록을 오름차순으로 정렬합니다. 이 방법은 단순히 주어진 목록의 내용을 정렬합니다. 필수 매개 변수는 없지만 선택적 매개 변수가 있습니다.

  • key - 다차원 배열 내에서 정렬되는 인덱스 또는 위치를 결정합니다.
  • reverse - True이면 목록이 내림차순으로 정렬됩니다.

이 메서드가 매개 변수가있는 목록과없는 목록을 정렬하는 방법을 살펴 보겠습니다.

  • 매개 변수 없음 :
colors = ["pink", "blue", "black", "white"]
colors.sort()

print(colors)

출력:

['black', 'blue', 'pink', 'white']

목록은 단일 문자의 정수 대응 인 ASCII 값을 기반으로 문자열을 정렬합니다. 비교중인 두 문자열이 동일한 ASCII 값을 갖는 경우 비교할 항목이 남아 있지 않을 때까지 두 문자열의 다음 문자를 계속 비교합니다.

  • reverse매개 변수 사용 :
colors = ["pink", "blue", "black", "white"]
colors.sort(reverse=True)
print(colors)

출력:

['white', 'pink', 'blue', 'black']

reverse매개 변수를True로 설정하면 목록이 내림차순으로 정렬됩니다.

정렬 정수와 부동 소수점 숫자는 더 크고 작은 것을 기준으로 정렬됩니다. 이번에는 정수와 소수를 내림차순으로 정렬하는 또 다른 예제를 사용해 보겠습니다.

numbers = [55, 6, -0.05, 0.07, 2.5, -7, 2.99, 101, 0.78]
numbers.sort(reverse=True)

print(numbers)

출력:

[101, 55, 6, 2.99, 2.5, 0.78, 0.07, -0.05, -7]

출력에서sort()함수를 사용하여 숫자를 정렬하면 음수뿐 아니라 소수도 기록됩니다.

이러한 유형의 정렬은YYYY-MM-DD HH:MM:SS와 같은 형식의 날짜에서도 작동합니다. 이를 증명하기 위해 타임 스탬프 목록을 예로 사용하겠습니다.

timestamps = [
    "2021-04-15 09:08:30",
    "2021-04-14 08:09:38",
    "2021-04-18 12:10:52",
    "2021-04-21 23:39:22",
    "2021-04-13 14:40:22",
    "2021-04-14 13:59:46",
    "2021-04-15 19:22:37",
    "2021-04-18 07:00:58",
    "2021-04-17 04:01:50",
    "2021-04-22 01:17:13",
    "2021-04-25 24:22:13",
    "2021-04-14 25:36:38",
]

timestamps.sort(reverse=True)

print(timestamps)

출력:

['2021-04-25 24:22:13', '2021-04-22 01:17:13', '2021-04-21 23:39:22', '2021-04-18 12:10:52', '2021-04-18 07:00:58', '2021-04-17 04:01:50', '2021-04-15 19:22:37', '2021-04-15 09:08:30', '2021-04-14 25:36:38', '2021-04-14 13:59:46', '2021-04-14 08:09:38', '2021-04-13 14:40:22']

출력이 내림차순으로 성공적으로 정렬되었는지 확인하고reverse매개 변수와 함께sort()함수를 사용하여 타임 스탬프를 올바르게 정렬 할 수도 있는지 확인합니다.

요약하면, 내장sort()함수를 사용하고reverse매개 변수를True로 설정하면 Python 목록을 내림차순으로 정렬 할 수 있습니다.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

관련 문장 - Python List