如何快速制作1~100的列表?

时间:2015-04-04 04:14:47

标签: python python-2.7

当我是一个python初学者时,我可以创建一个多行for循环,使得列表为1~100:

a=[]
for i in range(1,101):
    a.append(i)

当我知道如何为循环编写单行时,我可以简单地编写代码。

a=[ _ for _ in range(1,101)]

当我查看python文档并详细重新学习python时,我发现range()内置函数可以直接创建一个列表,但我看起来没有人这样做。为什么呢?

a=range(1,101)

2 个答案:

答案 0 :(得分:3)

在Python 2.x

如果要创建1到100之间的数字列表,只需执行以下操作:

range(1, 101)

在Python 3.x

range()不再返回列表,而是返回生成器。我们可以轻松地将其转换为列表。

list(range(1, 101))

答案 1 :(得分:0)

  

当我查看python文档并重新学习python时,我发现   range()内置函数它可以直接创建一个列表,但我看起来没有   一个人这样做。

取决于,如果您使用的是Python 2.X,但是对于Python 3.X,它会生成一个范围对象,如果需要,应该迭代该对象以创建列表。

但是在任何情况下,对于所有实际目的而言,将范围对象扩展为List理解是没用的,并且有不必要的内存占用。