辞書(ディクショナリ)はRubyで言うところのハッシュだと思えばいい。
リテラル表記は{と}で囲み、キーと値は:で区切る。
>>> d = {'a' : 'Andy', 'b' : 'Bill', 'c' : 'Charlie'} >>> d {'a': 'Andy', 'c': 'Charlie', 'b': 'Bill'}
また、dict関数を使って辞書(この場合はコピーになる)、リストのリスト、タプルのリストから作ることもできる。
print "from dictionary (copy):"
d1 = dict({"a":"Andy", "b":"Bill", "c":"Charlie"})
print d1
print "--"
print "from list of list:"
d2 = dict([['a', 'Andy'], ['b', 'Bill'], ['c', 'Charlie']])
print d2
print "--"
print "from list of tuple:"
d3 = dict([('a', 'Andy'), ('b', 'Bill'), ('c', 'Charlie')])
print d3
実行結果:
^o^ > python dict.py from dictionary (copy): {'a': 'Andy', 'c': 'Charlie', 'b': 'Bill'} -- from list of list: {'a': 'Andy', 'c': 'Charlie', 'b': 'Bill'} -- from list of tuple: {'a': 'Andy', 'c': 'Charlie', 'b': 'Bill'}
キーと値を追加するときはインデックスを使って代入すればいいが
>>> d = {'a':'Andy', 'b':'Bill'} >>> d {'a': 'Andy', 'b': 'Bill'} >>> d['c'] = 'Charlie' >>> d {'a': 'Andy', 'c': 'Charlie', 'b': 'Bill'}
削除するときはdel関数を使う。
>>> del d['b'] >>> d {'a': 'Andy', 'c': 'Charlie'}