我正在从API中获取数据,并使用requests
转换JSON,然后从字典中的列表中的每个字典中提取一个值:
response = requests.get("http://api.open-notify.org/astros.json")
astros = response.json()
print(astros["number"])
[print(astronaut['name']) for astronaut in astros['people']]
输出将根据需要提供名称列表,但紧随其后的是6个None值的列表;我不明白为什么。
答案 0 :(得分:5)
这些是列表理解中所有打印函数调用的返回值。
>>> x = print('hello')
hello
>>> print(x)
None
代替列表理解,只需使用常规循环即可:
for astronaut in astros['people']:
print(astronaut['name'])
列表推导仅在您要保留实际创建的列表时使用。