【问题标题】:Python loop out of orderPython循环乱序
【发布时间】:2014-01-16 13:51:48
【问题描述】:

代码如下:

for count in range(0, 5):
    print(count)

输出将是:

0 1 2 3 4

问题是 是否可以在 Python 中乱序迭代:

类似这样的:

for count in range(5, 0):
    print(count)

输出: 4 3 2 1 0

【问题讨论】:

标签: python loops


【解决方案1】:

范围(开始,停止[,步骤])

接受第三个参数step

所以你可以这样做:

for count in range(4, -1, -1):
    print(count)

【讨论】:

【解决方案2】:

This answer 会有所帮助:

for x in reversed(range(5)):
    print x

【讨论】:

    【解决方案3】:

    您可以使用reversed() 来反转迭代器中值的顺序:

    for x in reversed(range(5)):
        print x
    

    【讨论】:

      【解决方案4】:
      import random
      l = range(0, 5) 
      random.shuffle(l)
      for count in l
          print count
      

      【讨论】:

        【解决方案5】:

        RANGE 产生 AP(算术级数)。
        在这种情况下,步长为负。

        您可以通过以下方式指定步长:

        range(Start of series, End of series [, Step size])
        

        因此我们在这里使用:

        for counter in range(4, -1, -1):
            print counter
        

        序列的结尾总是比传递给范围的值小 1*(步长)。

        注意:

        reversed(range(...))
        

        也可以使用,但是效率比上面的方法低。
        此外,许多其他操作函数还不能与 reversed() 一起使用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-26
          • 1970-01-01
          • 2019-04-24
          • 1970-01-01
          • 2023-01-25
          • 2015-10-24
          • 1970-01-01
          相关资源
          最近更新 更多