Python 这张没有人的名单是从哪里来的?

Python 这张没有人的名单是从哪里来的?,python,python-3.x,Python,Python 3.x,我从API获取数据,并使用请求转换JSON,然后从dict中列表中的每个dict中提取一个值: 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值的

我从API获取数据,并使用
请求转换JSON,然后从dict中列表中的每个dict中提取一个值:

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值的列表;我不明白为什么。

这些是列表中所有打印函数调用的返回值

>>> x = print('hello')
hello
>>> print(x)
None
使用常规循环代替列表理解:

for astronaut in astros['people']:
    print(astronaut['name'])

列表理解仅在您希望保留创建的实际列表时使用。

Nb。我正在Jupyter笔记本中运行代码。“列表理解仅在您希望创建实际列表时使用。”附录:“并且不应用于副作用”(例如,
print
ing)。列表理解是向代码读者发出的提示,它是输入列表到输出列表的简单转换,没有神奇的距离;违反这一点,你就在编写不必要的混乱代码。所以,在尝试更具Python风格的过程中,我实际上没有这么做。谢谢大家!