この間は脱線してしまったので、
今日はPythonのディクショナリを
試してみる。
ディクショナリとは?
オブジェクトの集合というのは、
リストと同じ。
だがリストと違い、
要素へのアクセスに数字では無く、
キーを使用する。
順不同なので、連結やスライシングが出来ない。
なので、
ディクショナリは「連想配列」や「ハッシュ」とも
呼ばれる事があるみたい。
簡単に試してみる。
>>> d = {‘kool’:1, ‘malboro’:2, ‘mildseven’:3}
>>> d[‘kool’]
1
要素数の確認
>>> len(d)
3
キーの確認
>>> d.has_key(‘kool’)
True
もしくは、
>>> ‘kool’ in d
True
キーのみのリストを作成
>>> d.keys()
[‘mildseven’, ‘malboro’, ‘kool’]
値のみのリストを作成
>>> d.values()
[3, 2, 1]
キーと値のペアでタプルのリストを作成
>>> d.items()
[(‘malboro’, 2), (‘kent’, 5), (‘kool’, 1)]
要素の削除
>>> del d[‘mildseven’]
>>> d
{‘malboro’: 2, ‘kool’: 1}
要素の追加
>>> d[‘kent’] = 5
>>> d
{‘malboro’: 2, ‘kent’: 5, ‘kool’: 1}
2つのディクショナリを連結しマージする
>>> d2 = {‘kool’:1, ‘camel’:10, ‘caster’: 22}
>>> d.update(d2)
>>> d
{‘kent’: 5, ‘kool’: 1, ‘caster’: 22, ‘camel’: 10, ‘malboro’: 2}
‘kool’:1が両方に入っていたので、
重複するものは連結されずそれ以外の値が
連結される。
ディクショナリをPHPのforeachみたいに
使ってみる。
PHPだと、
$array = array(‘dog’ => 1, ‘cat’ => 2, ‘lion’ => 3);
foreach ($array as $key => $value) {
print $key;
}
dog
cat
lion
Pythonだと
>>> d = {‘kent’: 5, ‘kool’: 1, ‘caster’: 22, ‘camel’: 10, ‘malboro’: 2}
>>> for key in d:
… print key
…
kent
kool
caster
camel
malboro
っすね。