当前位置: 首页 > 面试题库 >

如何在python中向后循环?

越飞翮
2023-03-14
问题内容

我正在谈论做类似的事情:

for(i=n; i>=1; --i) {
   //do something with i
}

我可以想到一些在python中执行此操作的方法(range(1,n+1)使用while和来创建和反转它的列表--i,…),但我想知道是否存在更优雅的方法。在那儿?

编辑:有人建议我使用xrange()而不是range(),因为range返回一个列表,而xrange返回一个迭代器。但是在Python
3(我碰巧使用过)中,range()返回一个迭代器,而xrange不存在。


问题答案:

range()xrange()采用指定步骤的第三个参数。因此,您可以执行以下操作。

range(10, 0, -1)

这使

[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

但是对于迭代,您实际上应该使用它xrange。所以,

xrange(10, 0, -1)

注为Python 3用户:没有单独rangexrange在Python 3功能外,还有就是range,它遵循的Python
2级的设计xrange



 类似资料:
  • 我一直在寻找如何弄清楚如何让一个输入或某些东西进入一个time循环。就像在,输入()命令不会停止我的秒表。我尝试过tkinter、pygame和其他几种方法,但它们都不起作用。如果有人能帮我,我更喜欢小而简单的东西,如果这是可能的话。具体来说,我想学习做什么,基本上是允许在按下任何键时立即停止(最好不按回车键)。谢谢,马鞍猪! 以下是我到目前为止的情况,没有任何东西可以激活停止:

  • 问题内容: 我想记录Python脚本的所有输出。我试过了: 现在,如果我“打印’某物’”,它将被记录下来。但是,如果我出现一些语法错误,例如说“ print’something#”,它将不会被记录-它会进入控制台。 如何从Python解释器中捕获错误? 我在这里看到了可能的解决方案: http://www.velocityreviews.com/forums/showpost.php?p=1868

  • 问题内容: Python的urllib2遵循3xx重定向以获取最终内容。有没有办法使urllib2(或其他一些库,例如httplib2)也遵循元刷新?还是我需要为刷新meta标签手动解析HTML? 问题答案: 好的,似乎没有库支持它,因此我一直在使用以下代码:

  • 问题内容: 您如何在Python中说两个嵌套循环的父循环? 我知道您可以在大多数情况下避免这种情况,但是可以在Python中完成吗? 问题答案: 摆脱内循环(如果之后没有其他东西) 将外部循环的主体放入函数中并从函数返回 引发异常并在外部捕获它 设置一个标志,从内部循环中断开并在外部级别对其进行测试。 重构代码,因此您不再需要这样做。 我每次都会带着5。

  • 问题内容: 我刚接触Python,但仍处于学习曲线的艰难阶段。感谢您的任何评论。 我有一个很大的for循环要运行(在许多迭代中都很大),例如: 我虽然认为这将是一个如何并行化的常见问题,但在Google上搜索了数小时后,我使用“多重处理”模块找到了解决方案,如下所示: 当循环较小时,此方法有效。但是,如果循环很大,这确实很慢,或者如果循环太大,有时会发生内存错误。看来python会首先生成参数列表

  • 问题内容: 我想在节点中打开一个页面并处理应用程序中的内容。像这样的事情似乎运作良好: 但是,如果页面返回301/302重定向,则此操作无效。万一有多个重定向,我将如何以可重用的方式进行操作?http上方是否有包装器模块,可以更轻松地处理来自节点应用程序的http响应? 问题答案: http上方是否有包装器模块,可以更轻松地处理来自节点应用程序的http响应? 请求中的重定向逻辑