
155
4.8 辞書オブジェクト
hash(object)
オブジェクトのハッシュ値を返します。オブジェクトがハッシュ可能でなければ、
TypeError
例
外を送出します。
パラメタ
object
−
ハッシュ値を求めるオブジェクトを取得します。
4.8.3
辞書内包
辞書オブジェクトは、辞書内包式でも作成できます。辞書内包は、以下の形式で指定します。
{
キー
:
値
for
変数名
in
イテラブルオブジェクト
}
辞書内包式は、イテラブル可能オブジェクトから要素を一つづつ取得し、変数名に代入します。
キーと値には、それぞれ辞書のキーと値となる式を指定します。要素を取得するたびにキーと値を
評価し、結果を辞書の要素として追加します。
例として、大文字の文字列を小文字に変換する、変換表を作成してみます。
for
ループを使って
作成すると、次のようになります。
#
文字列の大文字
->
小文字変換表を作成する
#
通常の、ループを使った処理
>>> src = ['SPAM', 'HAM', 'EGG'] #
変換元となるリスト
>>> tbl = {}
>>> for value in src:
... lowered = value.lower() #
文字列を小文字に変換
... tbl[value] = lowered
...
>>> tbl
{'SPAM': 'spam', 'EGG': 'egg', 'HAM': 'ham'}
この処理は、辞書内包を使うと、次のように書けます。
>>> src = ['SPAM', 'HAM', ...