Pythonを勉強中 vol.9

この間は脱線してしまったので、
今日は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

っすね。

投稿者:

kishir

趣味: sk8, ピスト、ターンテーブル、レコード 仕事: Python, Objective-C, PHP, JavaScript

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です