Python チュートリアル - データ型辞書

  1. Python 辞書を作成する
  2. Python 辞書の要素にアクセスするための get() メソッド
  3. Python 辞書の更新要素
  4. Python 辞書の要素の削除
  5. Python 辞書に適用可能なメソッド
  6. その他の辞書操作
  7. 辞書を反復処理する
  8. 辞書付きの組み込み関数

このセクションでは、Python で辞書を学習します。辞書を作成する方法と、辞書の要素を追加および削除する方法を学習します。

辞書は、データ/値がキーと値のペアである Python ネイティブデータ型です。辞書には順序のない要素が含まれています。キーを知っていれば、データの一部または辞書の値を取得できます。

Python 辞書を作成する

辞書は中括弧 {} を使用して作成でき、各要素はキーと値を含むペアになります。

Python 辞書キーは不変のデータ型である必要があり、値は任意の型にすることができます。

以下の例を検討してください。

>>> x = {1:'blue', 'key':'pink'}
>>> print(type(x))
<class 'dict'>
>>> print('x[1] = ', x[1])      #using key to retrive value
x[1] =  blue
>>> print("x['key'] =", x['key']) #using key to retrive value
x['key'] = pink

辞書は dict() メソッドを使用して初期化することもできます。

>>> dict({1: 'Blue', 2: 'Pink'})
{1: 'Blue', 2: 'Pink'}

Python 辞書の要素にアクセスするための get() メソッド

キーを使用して、辞書の値にアクセスできます。キーは、上記のインデックスアクセス演算子または get() メソッドで使用できます。

get() メソッドの使用時にキーが見つからない場合、エラーの代わりに None が返されます。

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> print(d[1])
Blue
>>> print(d.get(1))
Blue
>>> print(d[3])
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    d[3]
KeyError: 3
>>> print(d.get(3))
None

Python 辞書の更新要素

辞書は変更可能であるため、辞書の要素を更新、追加、削除できます。辞書の要素は、代入演算子を使用して更新できます。

辞書に存在しないキーで要素を更新すると、新しいキーと値のペアが作成されます。それ以外の場合は、対応する値が更新されます。

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> d[1] = 'Yellow'
>>> print(d)
{1: 'Yellow', 2: 'Pink'}
>>> d[3] = 'Black'
>>> print(d)
{1: 'Yellow', 2: 'Pink', 3: 'Black'}

Python 辞書の要素の削除

以下は、辞書から要素を削除するいくつかの方法です。

  1. pop() メソッド:対応する指定されたキーの値を削除して返します。
  2. popitem() メソッド: 任意(key, value) を辞書から削除して返します。
  3. clear() メソッド:辞書からではなく、辞書からすべての要素を削除します。
  4. del キーワード:特定のメソッドまたは辞書全体を削除できます。

以下の例を検討してください。

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(d.pop(2))
Pink
>>> print(d)
{1: 'Blue', 3: 'Yellow', 4: 'Red'}
>>> print(d.popitem())
(4, 'Red')
>>> print(d)
{1: 'Blue', 3: 'Yellow'}
>>> del d[3]
>>> print(d)
{1: 'Blue'}
>>> d.clear()
>>> print(d)
{}
>>> del d
>>> print(d)
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    print(d)
NameError: name 'd' is not defined

Python 辞書に適用可能なメソッド

以下の表を検討してください。

方法 説明
clear() 辞書からすべてのアイテムをクリアします
copy() 辞書をコピーする
fromkeys(seq[,v]) seq 要素をキーとして辞書を返し、値は v と等しくなります
get(key[,d]) キーの値を取得し、キーがない場合は d 返されます。
items() 辞書の要素を (key, value) として返します
keys() 辞書のキーを返します
pop(key[,d]) に対応するアイテムを削除します key。キーが存在しない場合、対応する値 d が返されます。両方の場合 dkey、エラーが発生します存在しません。
popitem() キーを返し、辞書から値を削除します。
setdefault(key[,d]) キーの値を返します。キーが見つからない場合、値 d を持つ新しいキーが作成され、d 返されます。
update([other]) キーと値を使用して辞書を更新します other
values() 辞書の値を返します

その他の辞書操作

辞書会員チェック

in キーワードは、アイテムが辞書のメンバーかどうかをチェックします。

注意

辞書のキーはメンバーシップチェックで使用されますが、値では使用されません。

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(2 in d)
True
>>> print(5 in d)
False

辞書を反復処理する

for ループを使用して辞書を反復処理できます:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> for i in d:
		print(i)
1
2
3
4

辞書付きの組み込み関数

以下は、さまざまなタスクを実行するために辞書で使用できる組み込み関数の一部です。

 関数  説明
 all()  辞書のすべてのキーが True の場合、True を返します。また、辞書が空の場合は True を返します。
 any()  辞書のキーのいずれかが True の場合、True を返します。辞書が空の場合、False を返します。
 cmp()  2つの辞書を比較する
 len()  辞書内のアイテムの数または辞書の長さを返します。
 sorted()  辞書のキーのソートされたリストを返します。

次のコードを検討してください。

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(len(d))
4
>>> print(sorted(d))
[1, 2, 3, 4]
comments powered by Disqus