我目前正在学习一个使用BeautifulSoup从超文本标记语言页面中提取信息的教程,在我学习的过程中,我意识到我没有理解一个步骤。代码是:
period_tags = seven_day.select(".tombstone-container .period-name")
periods = [pt.get_text() for pt in period_tags]
periods我被第二行搞糊涂了。我知道方括号是用来表示列表的,但我不明白"pt“是从哪里来的,而且我对" for”和"in“也相当不熟悉。
有人能帮我理解一下吗?希望我提供了足够的上下文。
发布于 2018-07-13 18:49:18
这叫做列表理解。请参阅https://docs.python.org/3/tutorial/datastructures.html#list-comprehensions
它就像一个反向的for循环,它允许您从一个可迭代的(或者可选的)条件创建列表。引用文档示例,如果您想创建一个< 10的正方形列表,标准方法应该是
squares = []
for x in range(10):
squares.append(x**2)但是列表理解语法允许您编写
squares = [x**2 for x in range(10)]或者,仅仅是偶数
squares = [x**2 for x in range(10) if x%2==0]https://stackoverflow.com/questions/51323376
复制相似问题