gpt4 book ai didi

python - Python itertools.islice 的源代码在哪里?

转载 作者:行者123 更新时间:2023-11-28 20:47:20 36 4
gpt4 key购买 nike

Python itertools.islice 的源代码在哪里?

我找到了 itertoolsmodule.c , 但找不到函数 itertools.islice (也许它在那里,但我对 C 代码了解不多)。

我想了解当我这样做时会发生什么:

itertools.islice(spamreader, rowStart, rowFinish+1)

最佳答案

您正在查看旧的 SVN 存储库; Python 已经转向 mercurial。我会看着他2.7 version of itertoolsmodule.c ;来源有一个 islice object .

当您调用 itertools.islice() 时,您会创建该对象的一个​​新实例,因此会调用 islice_new

有 3 个参数,C 结构中的 next 设置为 int(rowStart)stop 设置为 int(rowFinish+ 1)step 保留为 Noneit 设置为 iter(spamreader)。最重要的是,cnt 设置为 0。然后返回对象。

所有迭代工作都在 islice_next() 中完成,其中 it 根据 next、stop 和 step 值进行迭代。

cnt 递增并根据需要调用 next(it) 来推进对象,直到 cnt 等于或大于 下一步;之后,每次调用 islice_next() 都会生成一个项目,同时 cntnext 递增,直到 stop达到了。

关于python - Python itertools.islice 的源代码在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19044672/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com