我正在尝试将范围转换为列表。
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]
我怎样才能只得到被请求的列表?
发布于 2019-07-28 06:24:22
因为您将print语句放在for循环下,所以只需将print语句放在循环之外。
nums = []
for x in range (9000, 9004):
nums.append(x)
print (nums)
发布于 2015-11-14 02:55:51
您可以只将范围分配给一个变量:
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]
>>>
发布于 2018-07-16 04:29:35
Python 3
出于效率方面的原因,当您使用range
时,Python不再创建列表。新的范围类似于Python2.7中的xrange
。它创建一个可迭代的range对象,您可以循环遍历该对象或使用[index]
访问该对象。
如果我们将它与位置展开运算符*
结合使用,我们可以轻松地生成列表,尽管有了新的实现。
[*range(9000,9004)]
Python 2
在Python2中,range
确实创建了一个列表...所以:
range(9000,9004)
https://stackoverflow.com/questions/33699896
复制相似问题