Python에서 날짜 및 시간 정렬

  1. Python에서 날짜 및 시간 정렬
  2. sorted() 메서드를 사용하여 날짜 정렬
  3. sorted() 메서드를 사용하여 시간 정렬
  4. sorted() 메서드를 사용하여 날짜와 시간 모두 정렬
  5. 결론
Python에서 날짜 및 시간 정렬

Python은 프로그래머가 전 세계적으로 사용하는 고급 해석 프로그래밍 언어입니다. 객체 지향 프로그래밍으로 가장 유명합니다.

인공 지능, 기계 학습, 웹 개발 및 데이터 분석과 관련된 다양한 IT 분야에서 Python을 사용할 수 있습니다. Python이 대중적이고 실용적인 또 다른 이유는 내장 라이브러리와 모듈이 많기 때문입니다.

이 기사에서는 Python을 사용하여 날짜와 시간을 정렬하는 방법을 알려줍니다. 또한 datetime 모듈과 sorted 방법도 배웁니다.

Python에서 날짜 및 시간 정렬

Python을 사용하여 할 수 있는 한 가지 기능은 날짜와 시간을 정렬하는 것입니다. 주어진 날짜와 시간을 정렬해야 하는 경우가 있을 수 있습니다.

예를 들어 서로 다른 날짜 및 시간 목록이 있고 이를 오름차순 또는 내림차순으로 설정해야 하는 경우 Python을 사용하여 정렬할 수 있습니다.

Python의 datetime 모듈

무엇보다 정렬할 날짜와 시간이 있어야 합니다. Python은 날짜와 시간을 쉽게 다룰 수 있도록 datetime 모듈을 제공합니다.

datetime 모듈에는 date, time, datetime, timedelta, tzinfotimezone과 같은 6개의 기본 클래스가 있습니다.

sorted() 메서드

sorted()는 목록의 요소를 정렬하는 데 사용할 수 있는 Python의 내장 함수입니다. sorted() 메서드의 구문은 다음과 같습니다.

sorted(iterable, key=key, reverse=reverse)

여기서 iterable은 정렬해야 하는 시퀀스 또는 반복자를 의미합니다. 튜플, 목록 또는 사전일 수 있습니다.

keyreversesorted 기능에 제공할 수 있는 선택적 값입니다.

정렬 순서를 결정하려는 경우 는 이를 달성하기 위해 실행할 수 있는 기능입니다. 기본값은 없음입니다.

reversetruefalse 값을 고려하는 부울입니다. true를 값으로 설정하면 내림차순으로 정렬하고 false를 값으로 설정하면 요소를 오름차순으로 정렬합니다.

reverse의 기본값은 false입니다.

이 방법을 사용하여 날짜와 시간을 정렬할 수 있습니다. 어떻게 할 수 있는지 봅시다.

sorted() 메서드를 사용하여 날짜 정렬

첫 번째 단계로 날짜와 시간으로 작업하고 있으므로 datetime 모듈에서 datetime 메서드를 가져와야 합니다.

from datetime import datetime

그런 다음 임의의 날짜로 목록을 정의할 수 있습니다.

dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]

여기서 추가한 날짜는 연도와 월은 같지만 날짜는 다릅니다. 그것들을 정렬하고 출력해 봅시다.

print(sorted(dateList))

위 문장에서 print() 함수 내부에 sorted() 메서드를 사용했습니다. 또한 해당 메서드를 변수에 할당하고 인쇄할 수 있습니다.

sortedDateList = sorted(dateList)
print(sortedDateList)

두 문 모두 동일한 출력을 제공합니다. 이 예에서는 첫 번째 방법을 사용합니다.

전체 코드:

from datetime import datetime

dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]
print(sorted(dateList))

출력:

정렬된 날짜

보시다시피 날짜가 오름차순으로 정렬되었습니다.

값이 truereverse 속성을 추가하여 내림차순으로 정렬해 보겠습니다.

print(sorted(dateList, reverse=True))

코드를 실행하면 아래와 같은 결과를 얻을 수 있습니다.

정렬된 날짜 내림차순

위 이미지와 같이 날짜를 내림차순으로 정렬할 수 있습니다.

이제 다른 연도와 달을 사용하여 다시 시도해 봅시다.

dateList = ["2022-10-07", "2021-10-07", "2021-09-07", "2020-10-07", "2020-10-01"]

그런 다음 앞에서 했던 것처럼 정렬하고 인쇄할 수 있습니다.

print(sorted(dateList))

이제 아래 이미지와 같은 결과를 얻을 수 있습니다.

연도와 월이 다른 날짜 정렬

sorted() 메서드를 사용하여 시간 정렬

이전에는 날짜 정렬을 시도했습니다. 이제 이 방법을 사용하여 다른 시간을 정렬해 보겠습니다.

datetime 모듈에서 datetime 메소드를 가져오겠습니다.

from datetime import datetime

그런 다음 다른 시간으로 목록을 만들 수 있습니다.

timeList = ["14:00:00", "02:00:00", "10:00:00", "23:00:00", "05:00:00"]

이제 정렬하고 인쇄해 봅시다.

print(sorted(timeList))

출력:

정렬된 시간

출력으로 시간 목록을 오름차순으로 가져옵니다. 앞에서 했던 것처럼 시간을 내림차순으로 정렬할 수도 있습니다.

print("\n", sorted(timeList, reverse=True))

출력:

정렬된 시간 내림차순

아래와 같이 분과 초를 다르게 하여 시간을 변경해 봅시다.

timeList = ["14:03:29", "02:24:23", "10:02:59", "02:23:24", "10:03:00"]
print(sorted(timeList))

코드를 실행하면 아래와 같은 예상 결과를 얻을 수 있습니다.

분과 초가 다른 시간 정렬

sorted() 메서드를 사용하여 날짜와 시간 모두 정렬

이전 단계에서는 날짜와 시간을 별도로 정렬했습니다. 이제 날짜와 시간을 함께 정렬해 보겠습니다.

dateTimeList라는 새 목록을 만들어 보겠습니다. 그런 다음 아래 코드 블록에 표시된 것처럼 다른 시간과 함께 일부 날짜를 추가할 수 있습니다.

dateTimeList = [
    "2022-10-07 14:03:29",
    "2022-10-08 02:01:23",
    "2022-10-07 10:02:59",
    "2022-10-07 02:01:24",
]

보시다시피 4개의 날짜와 다른 시간이 있습니다. 이 방법을 통해 정렬된 목록을 얻을 수 있는지 살펴보자.

print(sorted(dateTimeList))

출력:

정렬된 날짜시간

위의 이미지에서와 같이 정렬된 날짜 및 시간 목록이 표시됩니다.

결론

이 자습서에서는 날짜와 시간을 정렬하는 sorted() 메서드인 Python 기술을 배웠습니다.

첫 번째 단계로 datetime 모듈을 가져와야 하고 그로부터 datetime 메서드도 가져와야 합니다. 그래야만 날짜와 시간을 다룰 수 있습니다.

sorted() 메서드를 사용하여 날짜와 시간이 다른 목록을 만들고 개념을 이해하기 위해 예제로 정렬했습니다. 날짜와 시간을 정렬하는 다른 방법이 있지만 이것은 Python이 제공하는 간단한 방법입니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

관련 문장 - Python Sort