dict

dict.png

外側が{}で囲まれてて、
間に"キー":""になってるのがdictである

# 例
dic = {'name':'Taro', 'age': 26}
# 空の辞書
dic = {}

値を取り出す

値を取得するには「辞書オブジェクト[キー]」を使います。

dic = {'name':'Taro', 'age':26}
dic['name']
'Taro'

キーが存在しない場合はKeyErrorの例外が送出されます。

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'sex'

キーの有無を調べる

def func(**kwargs):#辞書型引数
    if 'e' in kwargs:#引数の辞書の中に'e'のキーを持つものはありますか??
        print 'e?='+str(kwargs['e'])#存在する場合だけプリント

'e' in kwargsの時点でTrueかFalseが返ってくる文になっております

2重構造のdict

{'selection': {
    'title': '選択肢の英単語', 
    'created_at': '2013-01-28T13:57:01+00:00', 
    'title_shown': '選択肢の英単語', 
    'fullname': 'selection', 
    'tags': [], 
    'rating': 0,
     'updated_by': 'miffysora',
     'created_by': 'miffysora', 
    'revisions': 1, 
    'parent_fullname': 'toeic', 
    'updated_at': '2013-01-28T13:57:14+00:00'}, 
'news': {
    'title': 'ニュース関係の英語', 
    'created_at': '2013-02-05T12:41:15+00:00', 
    'title_shown': 'ニュース関係の英語', 
    'fullname': 'news', 
    'tags': [], 'rating': 0, 'updated_by': 'miffysora', 'created_by': 'miffysora', 'revisions': 1, 'parent_fullname': 'toeic', 'updated_at': '2013-02-05T12:41:25+00:00'},
 'money': {'title': 'お金関係の英語', 'created_at': '2012-08-21T23:52:07+00:00', 'title_shown': 'お金関係の英語', 'fullname': 'money', 'tags': [], 'rating': 0, 'updated_by': 'miffysora', 'created_by': 'miffysora', 'revisions': 30, 'parent_fullname': 'toeic', 'updated_at': '2013-09-05T03:50:15+00:00'},
 'company': {'title': '会社・求人関連の英語', 'created_at': '2013-01-24T13:04:09+00:00', 'title_shown': '会社・求人関連の英語', 'fullname': 'company', 'tags': ['job'], 'rating': 0, 'updated_by': 'miffysora', 'created_by': 'miffysora', 'revisions': 17, 'parent_fullname': 'toeic', 'updated_at': '2013-08-31T14:29:17+00:00'}, 
'party': {'title': '飲み会関係の英語', 'created_at': '2013-01-24T13:23:38+00:00', 'title_shown': '飲み会関係の英語', 'fullname': 'party', 'tags': [], 'rating': 0, 'updated_by': 'miffysora', 'created_by': 'miffysora', 'revisions': 1, 'parent_fullname': 'toeic', 'updated_at': '2013-01-24T13:27:59+00:00'}
}

valueだけを取得する

pythonはitervaluesを使います

myDict = {"a": 1, "b": 2, "c": 3}
 
for value in myDict.itervalues():
    print(value)
 
# => 1
# => 3
# => 2

走査する

for key, value in myDict.iteritems():
    print("%s %s" % (key, value))

サポートサイト Wikidot.com