有没有办法将整数转换为向上计数的整数列表?

use*_*021 1 python django django-pagination

只是说我在Python中有一个整数,例如:100.

我想把这个整数转换成一个数到这个整数的列表,例如:[1,2,3,... 100]

最有效的方法是什么?

(如果您想知道我为什么要这样做,那是因为我想使用的Django Paginate库需要一个列表 - 如果有更优雅的方式使用Paginate而不这样做,请告诉我).

Gar*_*tty 7

Python range()内置完全符合您的要求.例如:

range(1, 101)
Run Code Online (Sandbox Code Playgroud)

请注意,计算机科学中的range()计数0正常,因此我们需要通过1,并计算到给定值,不包括 - 因此101这里要计数100.所以一般,你想range(1, n+1)从数1n.

另请注意,在3.x中,这会产生一个迭代器,而不是一个列表,所以如果你需要一个列表,那么你可以简单地将list()你的调用包裹起来range().也就是说 - 大多数情况下可以使用迭代器而不是列表(它具有很大的优势,因为迭代器可以懒惰地计算),在这种情况下,不需要创建列表(在2.x中,功能像3.x中的范围那样可以实现xrange().