要素の確認(in演算子, indexメソッド, countメソッド)

広告

指定の値を持つ要素がリストの中に含まれているかどうか、また含まれている場合には何回含まれているかなどの取得方法を確認します。

指定の値を持つ要素が存在するかどうか

まず指定の値が要素に含まれているかどうかを調べるには「in」演算子を使います。書式は次の通りです。

オブジェクト in リストオブジェクト

「in」演算子の左辺のオブジェクトを持つ値が右辺のリストオブジェクトの要素の中に存在している場合は「True」を返します。存在しない場合は「False」を返します。

同じく「not in」演算子は指定の値が含まれていない場合に「True」を返します。

オブジェクト not in リストオブジェクト

具体的には次のように記述します。

list = ["A", "B", "C"]

print "B" in list        # True
print "D" in list        # False
print "B" not in list    # False
print "D" not in list    # True
指定の値を持つ要素のインデックス

次に指定の値がリストの要素に含まれる場合に、要素のインデックスを取得するにはリスト型で用意されている「index」メソッドを使います。

リストオブジェクト.index(オブジェクト)

引数で指定したオブジェクトが持つ値が要素の中に含まれている場合は、最初の要素のインデックスを返します。

具体的には次のように記述します。

list = ["A", "B", "C"]

print list.index("B")     # 1

指定した値が存在しない場合には「ValueError」が発生します。

指定の値を持つ要素の数

次に指定の値を持つ要素がいくつ含まれるかを取得するにはリスト型で用意されている「count」メソッドを使います。

リストオブジェクト.count(オブジェクト)

引数で指定したオブジェクトが持つ値がいくつの要素に含まれているのかを返します。

具体的には次のように記述します。

list = ["A", "B", "C", "B"]

print list.count("B")     # 2

指定した値が存在しない場合には「0」を返します。

サンプルコード

では実際に試してみます。

#coding: UTF-8

list = ["A", "B", "C", "D", "B"]
print list

print '"B" in list', "B" in list
print '"E" in list', "E" in list
print '"B" not in list', "B" not in list
print '"E" not in list', "E" not in list

if "B" in list:
  print 'list.index("B")', list.index("B")

if "B" in list:
  print 'list.count("B")', list.count("B")

上記を「test10-1.py」として保存します。保存する時の文字コードはUTF-8です。そして次のように実行して下さい。

要素の確認(in演算子, indexメソッド, countメソッド)

( Written by Tatsuo Ikura )