Python入門講座条件式と分岐

文字列の比較

比較演算子文字列の比較if 文 による条件分岐else 節比較以外の条件式elif 節

文字列も、数値とおなじように ==< などの比較演算子で比較できます。

== 演算子は、2つの文字列がおなじ値のとき、ブール値の True を返します。

また、<<= などの比較演算子は文字列の大小を比較します。しかし、数値の比較ではどちらが大きいか、というのは明確ですが、文字列の比較ではあまり明確ではありません。文字の ab よりも小さい、というのは納得がいきますが、a と大文字の A はどちらが小さいでしょうか? また、漢字の では、どちらが小さいでしょうか?

こういった問題から、文字列同士の比較では、人間の感覚とはことなった比較結果となる場合があるので注意してください。一般的には、半角の数字やアルファベットの比較は、次のような結果になり、安心して利用できます。

  1. 数値は、文字の0が最小、9が最大(0 < 1 < 2 < ... < 9)
  2. アルファベットでは、a が最小、z が最大 (a < b < c < ... < z)
  3. 大文字は小文字より小さい (a < A, b < B, ...)

などのルールがあります。

次の例では、1で始まる文字列 123は、4ではじまる 456より小さいです。

In [5]:
print('123' < '456')
True

また、大文字 < 小文字 なので、小文字で始まる pythonは、大文字で始まるPythonよりも大きくなります。

In [6]:
print('python' < 'Python')
False


【Copyright © 2001-2020 python.jp】 【Privacy Policy】 python_japan