范围(无论如何)返回范围(无论如何)非常好。 问题是,如果我在范围上调用list(开始,停止," NEGATIVE STEP"),则返回一个空列表。
所以,
>>>range(2,10,-1)
range(2,10,-1)
然而,
>>>list(range(2,10,-1))
[ ]
,而
>>>list(range(2,10,3))
[2,5,8]
你对它为什么以及如何解决这个问题有所了解吗?
答案 0 :(得分:1)
正确的是:
list(range(10,2,-1))
你从表格10开始,你想要去2,而不是相反。
通过做范围(2,10,-1)你开始形式2你想要步到-1,这是不可能的,因此resolt是一个空的
答案 1 :(得分:0)
第三部分是递增部分,即此处
list(range(2,10,3))
获得输出2,2 + 3,2 + 3 + 3 [2,5,8] 在这种情况下列表(范围(2,10,-1)) 由于范围介于2到10之间,因此不能将其递减-1
所以你必须这样做(范围(10,2,-1)),然后输出为[10,9,8,...... 3]
所以试试这个list(range(10,2,-1))
答案 2 :(得分:0)
你必须了解范围如何运作.... 范围可以采取三个args。范围({开始}:{端}:{步骤})
start = inclusive i.e list(range(0:2))=> returns [0, 1] so start is
inclusive.
end = exclusive (end-1 is inclusive) i.e list(range(0:2)) => returns [0, (2-
1)]
step = increment value (by default its 1, -1 means decrement)
当你做列表(范围(2,10,-1)),即它从2(包括)开始直到(10-1),但你说减1(即步长为-1)。所以它没有意义,因为你永远不会通过这种方式达到10。正如@stravos指出的那样
list(range(10,2,-1))
减量只有从高到低才有意义。