关于python:这个无名列表来自哪里?

Where is this list of None coming from?

本问题已经有最佳答案,请猛点这里访问。

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

1
2
3
4
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个无值列表;我不明白为什么。


这些是列表理解中所有print函数调用的返回值。

1
2
3
4
>>> x = print('hello')
hello
>>> print(x)
None

不要理解列表,只需使用常规循环:

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

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