繁体   English   中英

Python范围列出

[英]Python range to list

我正在尝试将范围转换为列表。

nums = []
for x in range (9000, 9004):
    nums.append(x)
    print nums

产量

[9000]
[9000, 9001]
[9000, 9001, 9002]
[9000, 9001, 9002, 9003]

我只需要类似的东西

 [9000, 9001, 9002, 9003]

我如何获得所需的列表?

您可以将范围分配给变量:

range(10)
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

在你的情况下:

>>> nums = range(9000,9004)
>>> nums
[9000, 9001, 9002, 9003]
>>> 

但是,在python3你需要使用list()来限定它

>>> nums = list(range(9000,9004))
>>> nums
[9000, 9001, 9002, 9003]
>>> 

Python 3

出于效率原因,Python在您使用range时不再创建列表。 新的范围就像Python 2.7中的xrange 它创建一个可迭代的范围对象,您可以使用[index]循环或访问它。

如果我们将它与位置扩展运算符*结合起来,即使是新的实现,我们也可以轻松生成列表。

[*range(9000,9004)]

Python 2

在Python 2中, range确实创建了一个列表......所以:

range(9000,9004)

范围的输出是一个列表:

>>> print range(9000, 9004)
[9000, 9001, 9002, 9003]

由于您正在使用for循环下的print语句,因此只需将print语句放在循环之外。

nums = []
for x in range (9000, 9004):
    nums.append(x)
print (nums)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM