Print a list in reverse order with range()?

前端 未结 19 791
长发绾君心
长发绾君心 2020-11-30 17:09

How can you produce the following list with range() in Python?

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
19条回答
  •  执念已碎
    2020-11-30 17:39

    No sense to use reverse because the range method can return reversed list.

    When you have iteration over n items and want to replace order of list returned by range(start, stop, step) you have to use third parameter of range which identifies step and set it to -1, other parameters shall be adjusted accordingly:

    1. Provide stop parameter as -1(it's previous value of stop - 1, stop was equal to 0).
    2. As start parameter use n-1.

    So equivalent of range(n) in reverse order would be:

    n = 10
    print range(n-1,-1,-1) 
    #[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
    

提交回复
热议问题