首页 文章

使用Python中的索引向后循环?

提问于
浏览
190

我试图从100循环到0.我如何在Python中执行此操作?

for i in range (100,0) 不起作用 .

12 回答

  • 26

    尝试 range(100,-1,-1) ,第三个参数是要使用的增量(记录为here) .

  • 15

    在我看来,这是最可读的:

    for i in reversed(xrange(101)):
        print i,
    
  • 1
    for i in range(100, -1, -1)
    

    和一些稍长(和较慢)的解决方案:

    for i in reversed(range(101))
    
    for i in range(101)[::-1]
    
  • 293

    通常在Python中,您可以使用负数索引从后面开始:

    numbers = [10, 20, 30, 40, 50]
    for i in xrange(len(numbers)):
        print numbers[-i - 1]
    

    结果:

    50
    40
    30
    20
    10
    
  • 2

    另一种方案:

    z = 10
    for x in range (z):
       y = z-x
       print y
    

    结果:

    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    

    提示:如果使用此方法计算列表中的索引,则需要从“y”值开始-1,因为列表索引将从0开始 .

  • 0

    简短又甜蜜 . 这是我在执行codeAcademy课程时的解决方案 . 以rev顺序打印字符串 .

    def reverse(text):
        string = ""
        for i in range(len(text)-1,-1,-1):
            string += text[i]
        return string
    
  • 159

    Why your code didn't work

    您的代码 for i in range (100, 0) 很好,除了

    第三个参数( step )默认为 +1 . 因此,您必须将range()的第3个参数指定为 -1 以向后退 .

    for i in range(100, -1, -1):
        print(i)
    

    注意:这包括输出中的100和0 .

    有多种方式 .

    Better Way

    对于pythonic方式,请检查PEP 0322 .

    这是Python3 pythonic示例,从100打印到0(包括100和0) .

    for i in reversed(range(101)):
        print(i)
    
  • 2

    解决问题的简单答案可能是这样的:

    for i in range(100):
        k = 100 - i
        print k
    
  • -2

    for var in range(10,-1,-1) 有效

  • 1

    您可以随时增加范围并从 100 - i 中的变量中减去 i in range( 0, 101 ) .

    for i in range( 0, 101 ):
        print 100 - i
    
  • 4

    我在其中一个codeacademy练习中尝试了这个(在字符串中反转字符而不使用反转也不是:: -1)

    def reverse(text):
        chars= []
        l = len(text)
        last = l-1
        for i in range (l):
            chars.append(text[last])
            last-=1
    
        result= ""   
        for c in chars:
            result += c
        return result
    print reverse('hola')
    
  • 2
    a = 10
    for i in sorted(range(a), reverse=True):
        print i
    

相关问题