我有这个代码来实现我的需求:
import json
json_data = []
with open("trendingtopics.json") as json_file:
json_data = json.load(json_file)
for category in json_data:
print category
for trendingtopic in category:
print trendingtopic
这是我的json文件:
{
"General": ["EPN","Peña Nieto", "México","PresidenciaMX"],
"Acciones politicas": ["Reforma Fiscal", "Reforma Energética"]
}
但是我打印出来了:
Acciones politicas
A
c
c
i
o
n
e
s
p
o
l
i
t
i
c
a
s
General
G
e
n
e
r
a
l
我希望得到一个字典是字符串键并获得一个列表作为值。然后迭代它。我怎么能完成它?
答案 0 :(得分:4)
json_data是一本字典。在第一个循环中,您将遍历字典键的列表:
for category in json_data:
category 将包含关键字符串 - General和Acciones politicas。
你需要替换这个循环,它遍历键的字母:
for trendingtopic in category:
使用以下内容,以便迭代字典元素:
for trendingtopic in json_data[category]:
答案 1 :(得分:3)
我使用字典的.iteritems()
方法返回键/值对:
for category, trending in json_data.iteritems():
print category
for topic in trending:
print topic