検索

ハッシュ表に限らず、任意の要素を検索する操作は必須です。補助関数 _detect は、指定したキー key を含む連結リストをリターン値とします。

class HashTable:
def _detect(self, key):
return self.hashtab[self.hash(key)]._detect(key)

key と同じハッシュ値を持つ連結リストを検索します。

class LinkedList:
def _detect(self, key):
return (None, self)[key in self]

同じキー key を持つ要素が存在するなら、それ自身 self をリターン値とします。存在しないなら、None をリターン値とします。このとき、演算子 in の動作は、後述するメソッド __contains__ によって規定されます。