Python에서 날짜 및 시간 정렬

Migel Hewage Nimesha 2023년6월21일
  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이 제공하는 간단한 방법입니다.

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