如果在Python 3.3中有一种很好的方式可以产生吗?

时间:2013-03-26 20:27:17

标签: python python-3.x generator yield

有没有办法让这段代码更漂亮?

strong = li.find_all("strong")
if strong:
  yield li.find_all("strong")

我的意思是这样的:

strong = li.find_all("strong")
yield li.find_all("strong") if strong

1 个答案:

答案 0 :(得分:6)

您将使用:

strong = li.find_all("strong")
if strong:
    yield strong

而不是再次调用find_all() (在BeautifulSoup中,它会提供相同的结果但再次)。

没有'有条件收益'。你可以用yield from玩弄技巧,但我建议不要这样做。