我目前正在学习一个使用 BeautifulSoup 从 HTML 页面提取信息的教程,当我学习时,我意识到我不理解一个步骤。代码是:
period_tags = seven_day.select(".tombstone-container .period-name")
periods = [pt.get_text() for pt in period_tags]
periods
我对第二行感到困惑。我知道括号用于列表,但我不明白“pt”来自哪里,而且我对“for”和“in”也相当不熟悉。
有人可以帮我理解吗?希望我提供了足够的背景信息。
最佳答案
这称为列表理解。请参阅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]
关于python - for/in循环帮助,帮助理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51323376/