0
1

More than 3 years have passed since last update.

Pythonで文字列を比較する

Posted at

なんで必要なのか

Pythonエンジニア認定試験を勉強している時に、比較演算で文字列を比較しており理解できなかったものを、理解したためまとめておきます。

どういったものか

 >>> 'ABC'<'C'<'Pascal'<'Python'
True

上記の比較がなぜTrueになるのか。
文字コードを比較しているため

そもそも、文字コードポイントとはpythonがあらかじめ設定しているものです。ord(文字列)で簡単に確認できます。
例えば、ord('a')ならば97、ord('A')だと65といったようになっており、上記の文字列の比較はこの数値を比較しています。
ただし、文字列のコードポイントを比較するといっても、ord('ABC')はタイプエラーが返ってきます。

実際に

 >>> 'ABC'<'C'<'Pascal'<'Python'
True

注意点として、文字列の比較は最初の文字コードのポイントを比較しています。
ord('A')=65 < ord('C')=67という風にです。
'Pascal'や'Python'は'P'始まりなので次も文字'a'と'y'を比較します。
ord('a')=97 < ord('y')=121なので'Pascal'<'Python'は正しいことになります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1