替代next(next(..))访问迭代器的第n个元素



我有一个相当于<list_iterator object at 0x050BAAF0>(VS代码调试器(的列表迭代器children,并且需要访问该迭代器的第四个元素,我确信它存在。

有没有一种快速的方法,而不是调用4次next(children)来访问列表迭代器中第n个位置的元素,而不需要列表本身。

谢谢!

编辑:以下是一些代码:迭代器实际上是div的BeautifulSoup节点的子级

virgin_url = "https://www.clicpublic.be/product/_"
product_soup = get_soup(virgin_url + single_id + ".html") 
#get_soup returns the BeatutifulSoup([HTML of page])
bs_info_list = product_soup.findAll("div", {'class': "txtProductInformation"}
children = bs_info_list[0].children

您可以使用itertool.islice:

from itertools import islice
next(islice(children, 3, None))

第4个元素具有索引3

例如:

from itertools import islice
children = (e for e in range(100))
next(islice(children, 3, None))

输出:

3

最新更新