Python で日付と時刻を並べ替える
- Python で日付と時刻を並べ替える
-
sorted()
メソッドを使用して日付を並べ替える -
sorted()
メソッドを使用して時刻をソートする -
sorted()
メソッドを使用して日付と時刻の両方を並べ替える - まとめ
Python は、世界中のプログラマーが使用する高レベルのインタープリター型プログラミング言語です。 オブジェクト指向プログラミングで有名です。
人工知能、機械学習、Web 開発、データ分析に関連するさまざまな IT セクターで Python を使用できます。 Python が人気があり実用的であるもう 1つの理由は、組み込みのライブラリとモジュールが多数あることです。
この記事では、Python を使用して日付と時刻を並べ替える方法を説明します。 datetime
モジュールと sorted
メソッドについても学習します。
Python で日付と時刻を並べ替える
Python を使用して実行できる機能の 1つは、日付と時刻の並べ替えです。 特定の日付と時刻を並べ替える必要がある場合があります。
たとえば、異なる日付と時刻のリストがあり、それらを昇順または降順で設定する必要がある場合、Python を使用してそれらを並べ替えることができます。
Python の datetime
モジュール
何よりもまず、ソートする日付と時刻が必要です。 Python には、日付と時刻を簡単に操作するための datetime
モジュールが用意されています。
datetime
モジュールの下には、date
、time
、datetime
、timedelta
、tzinfo
、および timezone
の 6つの主要なクラスがあります。
sorted()
メソッド
sorted()
は、リスト内の要素を並べ替えるために使用できる Python の組み込み関数です。 sorted()
メソッドの構文は次のとおりです。
sorted(iterable, key=key, reverse=reverse)
ここで、iterable
は、ソートする必要があるシーケンスまたはイテレータを意味します。 タプル、リスト、または辞書にすることができます。
key
と reverse
は、sorted
関数に指定できるオプションの値です。
ソート順を決定したい場合、key
はそれを達成するために実行できる関数です。 デフォルト値は なし
です。
reverse
は、true
と false
の値を考慮するブール値です。 値として 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))
出力:
ご覧のとおり、日付は昇順で並べ替えられています。
値として true
を持つ reverse
属性を追加して、それらを降順に並べ替えましょう。
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 が提供する簡単な方法です。
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.