首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >要列出的Python范围

要列出的Python范围
EN

Stack Overflow用户
提问于 2015-11-14 02:54:30
回答 4查看 58.9K关注 0票数 11

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

代码语言:javascript
复制
nums = []
for x in range (9000, 9004):
    nums.append(x)
    print nums

输出

代码语言:javascript
复制
[9000]
[9000, 9001]
[9000, 9001, 9002]
[9000, 9001, 9002, 9003]

我只需要像这样的东西

代码语言:javascript
复制
 [9000, 9001, 9002, 9003]

我怎样才能只得到被请求的列表?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-07-28 06:24:22

因为您将print语句放在for循环下,所以只需将print语句放在循环之外。

代码语言:javascript
复制
nums = []
for x in range (9000, 9004):
    nums.append(x)
print (nums)
票数 2
EN

Stack Overflow用户

发布于 2015-11-14 02:55:51

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

代码语言:javascript
复制
range(10)
>>> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

在您的案例中:

代码语言:javascript
复制
>>> nums = range(9000,9004)
>>> nums
[9000, 9001, 9002, 9003]
>>> 

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

代码语言:javascript
复制
>>> nums = list(range(9000,9004))
>>> nums
[9000, 9001, 9002, 9003]
>>> 
票数 32
EN

Stack Overflow用户

发布于 2018-07-16 04:29:35

Python 3

出于效率方面的原因,当您使用range时,Python不再创建列表。新的范围类似于Python2.7中的xrange。它创建一个可迭代的range对象,您可以循环遍历该对象或使用[index]访问该对象。

如果我们将它与位置展开运算符*结合使用,我们可以轻松地生成列表,尽管有了新的实现。

代码语言:javascript
复制
[*range(9000,9004)]

Python 2

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

代码语言:javascript
复制
range(9000,9004)
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33699896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档