以下代码来自 Jake VanderPlas 的 Python Data Science Handbook 第 3 章。文件中的每一行都是有效的 JSON。虽然我认为文件的细节对于回答这个问题并不重要,但文件的 url 是https://github.com/fictivekin/openrecipes。
# read the entire file into a Python array
with open('recipeitems-latest.json', 'r') as f:
# Extract each line
data = (line.strip() for line in f)
# Reformat so each line is the element of a list
data_json = "[{0}]".format(','.join(data))
# read the result as a JSON
recipes = pd.read_json(data_json)
两个问题:
- 为什么在代码的第二行使用生成器推导而不是列表推导?由于所需的最终数据结构是一个列表,我想知道为什么不只使用列表而不是先使用生成器然后使用列表?
- 是否可以使用列表理解代替?