gpt4 book ai didi

python for循环范围(bigint)

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:07 24 4
gpt4 key购买 nike

在 Python 中,是否有一些简短的方法来做类似的事情

“我在范围内(n)”

当 n 太大以至于 Python 无法实际创建数组 range(n) 时?

(简短因为否则我只会使用 while 循环)

最佳答案

你可以使用 xrange() ...尽管 在 CPython 中仅限于“短”整数:

CPython implementation detail: xrange() is intended to be simple and fast. Implementations may impose restrictions to achieve this. The C implementation of Python restricts all arguments to native C longs (“short” Python integers), and also requires that the number of elements fit in a native C long. If a larger range is needed, an alternate version can be crafted using the itertools module: takewhile(lambda x: x<stop,
(start+i*step for i in count()))
.

我不知道该限制是否也适用于其他实现(或哪些实现)- 但列出了一个解决方法...

我知道你提到了 bigint在你的问题标题中,但问题正文谈到数字太大而无法创建数组 - 我怀疑有很多数字足够小以用于 xrange工作,但大到足以让你对 range 感到头疼.

关于python for循环范围(bigint),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3155441/

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