我是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
答案 0 :(得分:0)
您的第一个问题是d
是一个字符串 - 丢失{ }
大括号周围的引号。
然后for books in d
会将字典中的每个键作为变量books
提供给您。这些密钥为books
和type
。
然后你有另一个语法错误 - 字典结束(}
),然后打开'另一个',而不将其声明为新变量。
我希望你想要字典更像是:
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']