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

Python 有没有办法将整数转换为向上计数的整数列表?,python,django,django-pagination,Python,Django,Django Pagination,假设我在Python中有一个整数,例如:100 我想将这个整数转换成一个计数到这个整数的列表,例如:[1,2,3,…100] 最有效的方法是什么 如果您想知道我为什么要这样做,那是因为我要使用的Django Paginate库需要一个列表-如果有更优雅的方式使用Paginate而不这样做,请告诉我。Python正是您想要的。例如: range(1, 101) 注意,范围从0开始计数,这在计算机科学中是正常的,所以我们需要通过1,它一直计数到给定的值,不包括-因此这里的101计数到100。一般来

假设我在Python中有一个整数,例如:100

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

最有效的方法是什么

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

Python正是您想要的。例如:

range(1, 101)
注意,范围从0开始计数,这在计算机科学中是正常的,所以我们需要通过1,它一直计数到给定的值,不包括-因此这里的101计数到100。一般来说,你想让range1,n+1从1数到n

还要注意的是,在3.x中,这会生成一个迭代器,而不是列表,所以如果您需要一个列表,那么您可以简单地围绕对范围的调用包装列表。也就是说,大多数情况下,可以使用迭代器而不是具有很大优势的列表,因为迭代器可以惰性地计算,在这种情况下,不需要在2.x中创建列表,像3.x中的range这样的功能可以通过使用来实现。

Python完全满足您的需要。例如:

range(1, 101)
注意,范围从0开始计数,这在计算机科学中是正常的,所以我们需要通过1,它一直计数到给定的值,不包括-因此这里的101计数到100。一般来说,你想让range1,n+1从1数到n


还要注意的是,在3.x中,这会生成一个迭代器,而不是列表,所以如果您需要一个列表,那么您可以简单地围绕对范围的调用包装列表。也就是说,大多数情况下,可以使用迭代器而不是具有很大优势的列表,因为迭代器可以惰性地计算,在这种情况下,不需要在2.x中创建列表,类似于3.x中range的功能可以通过使用来实现。

您可以使用range或xrange。xrange速度更快,但返回一个迭代器

>>>range(1,101)
[1, 2, 3, ... , 99, 100]

>>> xrange(1,101)
xrange(1, 101)

>>>list(xrange(1,101))
[1, 2, 3, ... , 99, 100]

您可以使用range或xrange。xrange速度更快,但返回一个迭代器

>>>range(1,101)
[1, 2, 3, ... , 99, 100]

>>> xrange(1,101)
xrange(1, 101)

>>>list(xrange(1,101))
[1, 2, 3, ... , 99, 100]

Lattyware给出的解决方案对于生成列表是正确的,但是如果您使用Django分页,您可以只使用paginator_instance.page_range


Lattyware给出的解决方案对于生成列表是正确的,但是如果您使用Django分页,您可以只使用paginator_instance.page_range


为什么使用xrange只是为了让它再次成为一个列表?只是作为一个示例显示。也许更好的例子是XRange1101中的a。@frb是的,但这种比较毫无意义。正确的比较是listxrange。。。要设置范围…@Ophion-ListRange1101的要点是python2.x和python3.x的兼容性,在您实际需要列表的情况下。@Lattyware-是的,我知道。但我还有一些2to3不能正确转换的东西。也许这很顽固或愚蠢,但只要有可能,只要它不会对我的程序的性能造成太大的改变,我就尝试在同一个源文件中支持python2和python3,而不依赖外部工具。通常这并不难。为什么使用xrange只是为了让它再次成为一个列表呢?只是举个例子。也许更好的例子是XRange1101中的a。@frb是的,但这种比较毫无意义。正确的比较是listxrange。。。要设置范围…@Ophion-ListRange1101的要点是python2.x和python3.x的兼容性,在您实际需要列表的情况下。@Lattyware-是的,我知道。但我还有一些2to3不能正确转换的东西。也许这很顽固或愚蠢,但只要有可能,只要它不会对我的程序的性能造成太大的改变,我就尝试在同一个源文件中支持python2和python3,而不依赖外部工具。通常这并不难。