2020年4月16日木曜日

【Python】演算子 in は数値や文字列の混合配列でも評価できる。

 Pythonのin 演算子を検索すると、だいたい数値や文字列のみを要素とする配列と比較している例が目立つが、数値と文字列を混合した配列でも比較することが可能である。

ドキュメントを見てみる

 Pythonのドキュメントを見てみよう。
6.10.2. 所属検査演算

ここには以下のような記述がある。

演算子 in および not in は所属関係を調べます。 x in s の評価は、 x が s の要素であれば True となり、そうでなければ False となります。

ドキュメント上では、配列要素が1種類のときに限定している記述はない。

試してみる

Python 3.7.3 (default, Apr  3 2019, 05:39:12)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 3 in [ 4, 'abc', 'cdf' ]
False
>>> 4 in [ 4, 'abc', 'cdf' ]
True
>>> [3,4] in [ [1,2], [3,4] ]
True
>>> [3,4] in [ [1,2], [3,5] ]
False
>>> 'abc' in [ 4, 'abc', 'cdf' ]
True