home changes contents help options

104:配列の要素を検索する

indexというメソッドを使うと、リストの最初のアイテムのインデックス(場所)を得ることができます。該当するものが無い場合は、エラーになるので、次のような方法で、要素の有無を調べることができます。

論理値が使えるようになったのは、Python2.3からなので、それ以前のバージョンでは0,1を返すようにすること。

 def searcharray(L,str):
     try:
         L.index(str)
     except ValueError:
         y=False
     else:
         y=True
     return y
 print searcharray(['banana','apple','orange'],'apple')
 print searcharray(['banana','apple','orange'],'peach')
 True
 False

存在した場合は何番目かを示すようにした例。

 def searcharray(L,str):
     try:
         y=L.index(str)
     except ValueError:
         y=False
     return y
 print searcharray(['banana','apple','orange'],'apple')
 print searcharray(['banana','apple','orange'],'peach')
 1
 False