Python 2.7 如何在Python2.7中处理xrange和itertools.islice对大数字的限制

Python 2.7 如何在Python2.7中处理xrange和itertools.islice对大数字的限制,python-2.7,itertools,Python 2.7,Itertools,简而言之,我正在尝试创建一个从0到任意大数的列表并循环。这一数字可能很大,例如1000000000。我尝试过使用xrange,但它遇到了溢出错误。我还尝试使用itertools.islice和建议的count,但我需要的范围大于sys.maxint,这是对islice的stop参数的限制 我想知道的是,是否有任何方法可以优雅地处理这些大数字?这里有我遗漏的东西吗?我知道我可以选择使用while循环,但我不希望这样 我目前正在使用32位Python 2.7 谢谢大家! 在迭代中,您将做什么?当然,

简而言之,我正在尝试创建一个从0到任意大数的列表并循环。这一数字可能很大,例如1000000000。我尝试过使用xrange,但它遇到了溢出错误。我还尝试使用itertools.islice和建议的count,但我需要的范围大于sys.maxint,这是对islice的stop参数的限制

我想知道的是,是否有任何方法可以优雅地处理这些大数字?这里有我遗漏的东西吗?我知道我可以选择使用while循环,但我不希望这样

我目前正在使用32位Python 2.7


谢谢大家!

在迭代中,您将做什么?当然,使用1e10序列号做任何事情都需要花费大量时间,即使每个步骤都很简单。如果你的程序需要几个小时或几天才能运行,它会对你有用吗?你能通过找到一个分析解决方案来跳过这个循环吗?例如,使用n*n+1/2,而不是把数字加在一起?我实际上是在试图写出埃拉托斯提尼语筛子的算法:我确信有一种方法可以优化它,但我不完全确定如何…听起来你可能想看看,这就需要有效的方法来生成大量的素数。我特别喜欢Will Ness在基于的第三个答案中提出的递归生成器解决方案,但经过了重大修改,大大降低了其空间复杂性。