2016-05-24 15 views
1

Pythonは自動的にデータ型をスキャンして、場合によっては推測しやすいでしょうか?Pythonで日付の文字列が他の文字列よりも大きいのはなぜですか?

 DT 
2016-05-20 22:22:00 
2016-05-20 22:22:01 

しかし、Pythonで:

dt1 = '2016-05-20 22:22:00' 
dt2 = '2016-05-20 22:22:01' 
if dt2 > dt1: 
    print dt2 
>>'2016-05-20 22:22:01' 

だから、私は1日、この場合には、たとえば、(それは、日付、時間インデックスとして設定されているため)別のより大きいなぜパンダでは、私は理解することができますPythonがこれらを日付として自動的に認識していると仮定するか、または文字列の比較を行っている文字列がありますか?したがって、これは安全ですか?

EDIT この質問は、日付、時刻、およびコロンを使用するため、提案された重複回答「Pythonで使用される文字列比較方法」と異なる場合があります。提案された重複解答は、例で使用されている文字のグループを用いて辞書編集序列を理論的に洞察するものであり、完全であるかもしれないが、日付の比較が失敗セーフであるかどうか不確実である。

これに遭遇する人にとって:はい、文字列の日付を比較することができます安全に

+2

[Pythonで使用される文字列比較テクニック]の複製が可能です(http://stackoverflow.com/questions/4806911/string-comparison-technique-used-by-python) –

答えて

1

Pythonの文字列は、 "lexicographical order"を使って比較されます。つまり、Pythonは最初の文字を調べて、より大きな文字列を確認します... 2つの最初の文字が等しい場合はPythonは2番目の文字になります2つのストリングフィニッシュのうちの1つのチャー。

したがって、形式がYYYY:MM:DD hh:mm:ssの日付の場合、比較は時間の順序の意味でも正しいでしょう。

関連する問題