Python入門(七)dict

2686 ワード

Pythonのdictは、関連配列またはハッシュテーブルとも呼ばれ、キーと値のペアからなる.
    1. dictの作成:{}で囲まれ、キーと値の間で使用:分割、各キー値ペアの間で使用、分割
dict1 = {'name':'billy', 'age':28}
print(dict1)
>>> {'age': 28, 'name': 'billy'}

注意:キーはユニークで、文字列、数字、tupleなどの可変でなければなりません.
値は任意のタイプで変更できます.
    2. dictの要素へのアクセスdictの要素へのアクセス:キーによるアクセス
print(dict1['name']
>>> billy

print(dict1['age'])
>>> 28

ただし、アクセスするキーが存在しない場合、例外が発生します.
print(dict1['sex'])
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    print(dict1['sex'])
KeyError: 'sex'

この問題を避けるにはget法で判断することができます
value = dict1.get('sex') #  value = None
if value:
    print('the value of sex exist')
else:
    print('the value of sex does not exist')

>>> the value of sex does not exist

dict全体を巡る
#method 1
for k in dict1:
    print(k, dict1[k])
>>>
age 28
name billy

#method 2
for (k,v) in dict1.items():
    print(k, v)
>>> 
age 28
name billy

#method 3
for k in dict1.keys():
    print(k, dict1[k])
>>>
age 28
name billy

    3. 要素の追加/削除
#    
dict1['sex'] = 'male'
print(dict1)
>>> {'sex': 'male', 'age': 28, 'name': 'billy'}

#    
del dict1['sex']
print(dict1)
>>> {'age': 28, 'name': 'billy'}

#            ,     
del dict1['sex']
Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    del dict1['sex']
KeyError: 'sex'

#             get          ,           !

要素の値の変更
dict1['age'] = 25
print(dict1)
>>> {'age': 25, 'name': 'billy'}

    4. dictその他の一般的な方法:
1)copy():dictのすべての要素をコピー
dict2 = dict1.copy()
print(dict2)
>>> {'name': 'billy', 'age': 25}

2)clear():dictのすべての要素をクリア
dict2.clear()
print(dict2)
>>> {}

3)keys():dict内のすべてのキーをリストで返す
for k in dict1.keys():
    print(k)
>>> 
age
name

4)values():dictのすべての値をリストで返す
for v in dict1.values():
    print(v)
>>> 
25
billy

5)len():dict内の要素の個数を取得する
print(len(dict1))
>>> 2

dictは実際の開発において非常に有用であり,例えばhttpのサービスプログラムを記述する際にhttpのリクエストヘッダの各フィールドをdictに格納することができ,使用も非常に便利である.