python学習1:辞書


1.基本概念
一般的な辞書の作成方法:
>>>dic = {'tom':11, 'sam':57,'lily':100}
>>>print type(dic)
辞書とリストが似ているところは、複数の要素が含まれており、各要素はカンマで区切られています.しかし、辞書の要素には2つの部分が含まれています.キーと値は、文字列でキーを表すのが一般的です.数字や真の値でキーを表すこともできます(可変のオブジェクトはキーとして使用できます).値は任意のオブジェクトです.キーと値の両方が1つずつ対応します.
(実際には、リストの要素は任意のオブジェクトであってもよい)
例えば上記の例では、「tom」は11、「sam」は57、「lily」は100
 
リストとは異なり、辞書の要素には順序がありません.要素を下付きで参照することはできません.辞書はキーで参照されます.
>>>print dic['tom']
>>>dic['tom'] = 30
>>>print dic
 
新しい空の辞書を作成できます.
>>>dic = {}
>>>print dic
 
辞書に新しい要素を追加する方法:
>>>dic['lilei'] = 99
>>>print dic
(新しいキーを参照し、対応する値を付与)
 
2.dictionaryの要素をループ呼び出します.
dic = {'lilei': 90, 'lily': 100, 'sam': 57, 'tom': 90}
for key in dic:
    print dic[key]

ループではdictのキーが抽出されてkey変数に与えられることがわかる.
printの結果,dic中の要素に順序がないことを再確認できた.
 
3.辞書のその他の一般的な方法
>>>print dic.keys()はdicのすべてのキーを返します
>>>print dic.values()はdicのすべての値を返します.
>>>print dic.items()#はdicのすべての要素(キー値ペア)を返します.
>>>dic.clear()#クリアdic,dictが{}
 dic.items()は、keyとvalueからなるメタグループのリストを返します.
>>>dic={'lilei': 90, 'lily': 100, 'sam': 57}
>>>for (k,v) in dic.items():
	print "dict[%s]=%s" % (k,v)

dict[lilei]=90
dict[lily]=100
dict[sam]=57

もう一つよく使われる使い方があります.
>>>del dic['tom']#dicの「tom」要素を削除
delはPythonに保持されているキーワードで、オブジェクトを削除します.
 
テーブルと同様に、len()を使用して辞書の要素の合計数をクエリーできます.
>>>print(len(dic))
 
まとめ:
辞書の各要素はキー値ペアです.要素に順序がありません.
dic = {'tom':11, 'sam':57,'lily':100}
dic['tom'] = 99
for key in dic: ...
del, len()