遍历列表的字典

时间:2014-08-16 22:18:21

标签: python list dictionary traversal

我是python的新手,无法遍历这种类型的结构。任何帮助将不胜感激。

我想从每种书籍类型中打印“名称”字段:

[
 {   'books': [   {   u'published': 1957,
                     u'name': u'The Cat In The Hat'},
                 {   u'published': 1947,
                     u'name': u'Goodnight Moon'},
                 {   u'published': 1964,
                     u'name': u'The Giving Tree'}],
   'type': u'Kids'
}
{   'books': [   {   u'published': 1954,
                     u'name': u'The Lord Of The Rings'},
                 {   u'published': 2008,
                     u'name': u'The Hunger Games'}],
   'type': u'Adventure'
 }
]

以下是我的代码无效:

for books in d:
   book = books['book']
   for name in files.iteritems():
       print name

1 个答案:

答案 0 :(得分:0)

您的第一个问题是d是一个字符串 - 丢失{ }大括号周围的引号。

然后for books in d会将字典中的每个键作为变量books提供给您。这些密钥为bookstype

然后你有另一个语法错误 - 字典结束(}),然后打开'另一个',而不将其声明为新变量。

我希望你想要字典更像是:

books = {
    'Kids': [
        {'published': 1957, 'name': u'The Cat in the hat'},
        {'published': 1964, 'name': u'The Giving Tree'},
        {'published': 1947, 'name': u'Goodnight Moon'}
    ],
    'Adventure': []
}

然后你可以这样做:

for bookType in books:
    for book in books[bookType]:
        print book['name']