首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python 3转弯范围到列表

Python 3转弯范围到列表
EN

Stack Overflow用户
提问于 2012-07-14 08:45:02
回答 4查看 387.4K关注 0票数 231

我在试着列一张有数字1-1000的清单。显然,这将是恼人的写/读,所以我尝试做一个列表,其中有一个范围。在Python 2中,似乎是:

代码语言:javascript
复制
some_list = range(1,1000)

可以工作,但在Python3中,范围类似于Python2的xrange

有人能提供一些关于这方面的见解吗?

EN

回答 4

Stack Overflow用户

发布于 2017-11-03 07:53:12

在Pythons <= 3.4中,您可以像其他人建议的那样,使用list(range(10))来创建一个范围之外的列表(通常是任何可迭代的)。

Python 3.5中引入的另一种替代方法是在列表文字[]中使用*

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

虽然这等同于list(r),但它是文字语法,并且不涉及任何函数调用的事实确实让它执行得更快。如果您需要编写高尔夫代码,它的字符也更少:-)

票数 46
EN

Stack Overflow用户

发布于 2015-03-01 02:38:08

在Python3.x中,range()函数有自己的类型。因此在这种情况下,您必须使用迭代器

list(range(1000))

票数 27
EN

Stack Overflow用户

发布于 2020-11-10 15:40:36

Python 3:

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

https://stackoverflow.com/questions/11480042

复制
相关文章

相似问题

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