2007-01-01から1年間の記事一覧

Contents

〔CodeZine〕配列と別れる50の方法《1》15パズル 〔CodeZine〕配列と別れる50の方法《2》ライフゲーム 〔CodeZine〕配列と別れる50の方法《3》オセロゲーム 〔CodeZine〕ハリウッドの原則 要求仕様の変更:オセロゲーム〈蜂の巣〉hexagon 要求仕様の変更:…

● Shall_we_Agile = Java.use(better, Python) 記事一覧

Shall_we_Agile = Java.use(better, Python) Jython で学ぶ アジァイル開発 《著》伊藤うさぎ、森こねこ《監修》小泉ひよ子とタマゴ倶楽部更新♪2008/11/11

ためしてガッテン!

>>> p HashTable([, , , <>, ]) >>> p["happy"] = 3 >>> p HashTable([, , , <>, ])演算子 [] の中に指定した単語 "happy" は、ハッシュ表 p に含まれるので、その出現頻度を 3 に設定(更新)されたのが分かります。>>> p["god"] = 4 >>> p HashTable([, , …

メソッド __setitem__ は何処に

メソッド __setitem__ は、演算子 [] に値を設定するときの動作を規定します。 class HashTable: def __setitem__(self, key, value): e = self._detect(key) if e: e[key] = value else: k = self.hash(key) self.hashtab[k] = self.hashtab[k].entry(key, …

値の設定(更新/追加)

演算子 [] を演算子 = とともに利用すると、キーに対応する値を設定できます。

Python.use(better, follow=”K&R”) ハッシュ表と辞書 10/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/10/10《承前》

ためしてガッテン!

>>> p HashTable([, , , <>, ]) >>> p["happy"] 2 >>> p["god"] KeyError: 'god'演算子 [] の中に指定した単語が、ハッシュ表に含まれるかどうかを判定した結果 True/False が得られます。単語 "happy" はハッシュ表 p に含まれるので、その出現頻度 2 が得…

メソッド __getitem__ は何処に

メソッド __getitem__ は、演算子 [] の値を参照するときの動作を規定します。 class HashTable: def __getitem__(self, key): e = self._detect(key) if e: return e[key] else: raise KeyError, key前述した補助関数 _detect を利用して、指定したキー key…

値の参照(獲得)

演算子 [] を利用すると、キーに対応する値を参照できます。

Python.use(better, follow=”K&R”) ハッシュ表と辞書 9/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/10/10 《承前》

値の獲得

メソッド get を利用すると、任意のキーに対応する値が得られます。class HashTable: def get(self, key): e = self._detect(key) if e: return e[key] else: return None クラス HashTable では、先の補助関数 _detect を利用して、指定したキー key を含む…

ためしてガッテン!

>>> p HashTable([, , , <>, ]) >>> p.has_key("happy") True >>> p.has_key("god") False has_key の引数に指定した単語が、ハッシュ表に含まれるかどうかを判定した結果 True/False が得られます。単語 "happy" はハッシュ表 p に含まれるので、True が得…

包含

メソッド has_key を利用すると、任意のキーが辞書に含まれるかを判定できます。class HashTable: def has_key(self, key): return key in self メソッド has_key では、演算子 in を再利用しています。つまり、演算子 in を介して、メソッド __contains__ …

Python.use(better, follow=”K&R”) ハッシュ表と辞書 8/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/09/26《承前》

ためしてガッテン!

>>> p HashTable([, , , <>, ]) >>> "happy" in p True >>> "god" in p False2項演算子 in の左項に単語を、右項にハッシュ表を指定すると、その単語がハッシュ表に含まれるかどうかを判定した結果 True/False が得られます。単語 "happy" はハッシュ表 p …

メソッド __contains__ は何処に

メソッド __contains__ は、演算子 in の動作を規定します。class HashTable: def __contains__(self, key): return bool(self._detect(key)) # CAUTION前述した補助関数 _detect を利用して、指定したキー key を含む連結リストが存在するなら True を、存…

包含

組み込み演算子 in を利用すると、任意のキーが辞書に含まれるかを判定できます。

検索

ハッシュ表に限らず、任意の要素を検索する操作は必須です。補助関数 _detect は、指定したキー key を含む連結リストをリターン値とします。class HashTable: def _detect(self, key): return self.hashtab[self.hash(key)]._detect(key)key と同じハッシュ…

Python.use(better, follow=”K&R”) ハッシュ表と辞書 7/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/09/26《承前》

ためしてガッテン!

>>> p HashTable([, , , <>, ]) >>> bool(p) Trueハッシュ表 p は、要素を含むので、True と評価されます。>>> p = LinkedList() >>> p >>> bool(p) True連結リスト p には、まだ要素を登録していないだけなので、True と評価されます。>>> p = NoneList() >…

メソッド __nonzero__ は何処に

新たに定義したクラスのインスタンスは、True と評価されます。ところが、メソッド __nonzero__ を再定義すると、その真偽値を再設定できます。すると、True/False と同様に、そのインスタンスを条件式に指定するだけで、見通しの良いコードを記述できるよう…

どこで真偽を審議するのか

組み込み関数 bool を利用すると、指定された引数と等価な真偽値 True/False が得られます。ここで、True/False は、組み込み型 bool のインスタンスです。

Python.use(better, follow=”K&R”) ハッシュ表と辞書 6/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/09/26《承前》

回転寿しとクロワッサン

《こちらに移動中です》

Oh 脳《37》回転寿しとクロワッサン

Oh 脳: after ZERO《記事一覧》 《其之参拾漆》回転寿しとクロワッサン ♪セミナーの枕で紹介した小ネタ集です。息抜きや話題作りにどうぞ (^.^) 第0版♪1999/11/30 ● 第1版♪2001/05/11 ● 更新♪2009/01/05

ためしてガッテン!

>>> p HashTable([, , , <>, ]) >>> p.keys() ['good', 'can', 'happy', 'as', 'be']メソッド keys を利用すると、ハッシュ表に含まれる単語を列挙したリストが得られます。>>> p.values() [1, 1, 2, 2, 1]メソッド values を利用すると、ハッシュ表に含まれ…

辞書:キーと値

別の記事では、二分木を辞書に「変身」させて、組み込み型 dict と同等の機能を実現しました。今回は、ハッシュ表を辞書に「変身」させる過程を通して、相互の理解を深めます。dict には、次のメソッドを適用できます。 ・メソッド keys によって、キーを列…

Python.use(better, follow=”K&R”) ハッシュ表と辞書 5/10

Python.use(better, follow=”K&R”) # for novice 《記事一覧》 改訂♪2008/09/25《承前》

ためしてごらん

>>> p = HashTable() >>> p HashTable([<>, <>, <>, <>, <>]) >>> len(p) 0空のハッシュ表 HashTable() を生成して、結果を出力します。このとき、ハッシュ表 p の文字列表現が使われます。すると、要素を持たないので、空の連結リスト <> をカンマ「,」で区…

ハッシュ表と連結リスト

《関連記事》__str__ K&R で紹介された事例をもとに、組み込み型 dict と同等の機能を提供するために必要な、ハッシュ表と連結リストを実現します。class HashTable: hashsize = 5 # = 101 none = NoneList() def __init__(self, none=none): self.hashtab =…