1. TOP
  2. プログラム
  3. ソフト
  4. python
  5. 辞書

辞書

2019-03-29_145538_RM3

{}で作成

リストににているが、要素の順序が管理されていないので、要素を選択する 
ときに0や1などのオフセットはつかわない。
代わりに、個々に値に一意なキーを与える。
キーは文字列の場合が多いが、Pythonのイミュータブル型ならなんでも
よい。ブール値、整数、float、タプル、文字列などである。
他の言語では、連想配列、ハッシュ、ハシュマップなどと呼ばれている
空辞書は >>> empty_dict = {}
>>> empty_dict
{}

対話型インタープリタで辞書の名前を入力すると、そのなかキーと値が
表示される
Pythonでは、リスト、タプル、辞書の最後の要素の後ろにカンマを
のこしてもよい。

dict()を使った変換

◎2要素のリストのリストの例
>>> lol = [['a', 'b'], ['c', 'd'], ['e', 'f']]
>>> dict(lol)
('c': 'd', 'a': 'b', 'e': 'f',)

辞書内のキーの順序は決まっていない。

2要素のシーケンスを含むもろならなんでも使える。
◎2要素のタプルのリストの例
>>> lol = [('a', 'b'), ('c', 'd'), ('e', 'f')]
>>> dict(lol)
('c': 'd', 'a': 'b', 'e': 'f',)

◎2要素のリストのタプルの例
>>> lol = (['a', 'b'], ['c', 'd'], ['e', 'f'])
>>> dict(lol)
('c': 'd', 'a': 'b', 'e': 'f',)

◎2字の文字列のリスト例
>>> lol = ['ab', 'cd', 'ef']
>>> dict(lol)
('c': 'd', 'a': 'b', 'e': 'f',)

◎2字の文字列の1タプル例
>>> lol = (['ab', 'cd', 'ef')
>>> dict(lol)
('c': 'd', 'a': 'b', 'e': 'f',)

update()による辞書の結合

辞書のキーと値を別の辞書にコピーできる

>>>pythons.update(others)

delによる指定したキーの削除

辞書のキーと値を別の辞書にコピーできる

>>>del pythons['Mars']

clea()によるすべての要素の削除

辞書からすべてのキーと値を削除するには、clear()か、空辞書を代入

>>>pythons.clear()
>>>pythons = {}

inを使ったキーの有無のテスト

辞書にあるキーが含まれているか知りたい時

>>> 'Chapman' in pythos
true

keyによる要素の取得

キーが辞書になければ例外が発生する

例外を避けるにはget()関数を使う >>> pythons.get('cleese', 'Not a pythons')

オプションを指定しなければNoneになる。対話型インタープリタには
なにも表示されない

kyes()によるすべてのキーの取得

Pyton2とpytho3では動作がことなるpyton3ではdict_keys()が
かえってくので、リストにするにはlist()関数を使う
>>>list(signals.keys())

values()によるすべての値の取得

>>>list(signals.values())

items()によるすべてのキー/値pペアの取得

>>>list(signals.items())

=による代入とcopy()によるコピー

リストと同様に、辞書に変更を加えると、その辞書を参照している
すべての名前に影響が及ぶ

別の辞書にキー/値ペアをコピーしたい場合はcopy()を使う


>>>original_signals = signals.copy()