当我是一个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)
答案 0 :(得分:3)
如果要创建1到100之间的数字列表,只需执行以下操作:
range(1, 101)
range()
不再返回列表,而是返回生成器。我们可以轻松地将其转换为列表。
list(range(1, 101))
答案 1 :(得分:0)
当我查看python文档并重新学习python时,我发现 range()内置函数它可以直接创建一个列表,但我看起来没有 一个人这样做。
取决于,如果您使用的是Python 2.X,但是对于Python 3.X,它会生成一个范围对象,如果需要,应该迭代该对象以创建列表。
但是在任何情况下,对于所有实际目的而言,将范围对象扩展为List理解是没用的,并且有不必要的内存占用。