2024-04-24 14:14:51 发布
网友
使用Python中的range()如何生成以下列表?
range()
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
使用“range”内置函数。签名是range(start, stop, step)。这将生成一个序列,该序列从start开始,在到达stop时结束,不包括stop。
range(start, stop, step)
start
stop
>>> range(9,-1,-1) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> range(-2, 6, 2) [-2, 0, 2, 4]
在Python 3中,这将生成一个非listrange对象,它的功能与只读列表类似(但使用的内存更少,特别是在大范围内)。
range
您可以使用range(10)[::-1],这与range(9, -1, -1)是一样的,而且可以说更具可读性(如果您熟悉常用的sequence[::-1]Python习惯用法)。
range(10)[::-1]
range(9, -1, -1)
sequence[::-1]
使用reversed()函数:
reversed()
reversed(range(10))
它更有意义。
更新:
如果你希望它是一个列表(正如btk指出的那样):
list(reversed(range(10)))
如果只想使用range来获得相同的结果,可以使用它的所有参数。range(start, stop, step)
例如,要生成列表[5,4,3,2,1,0],可以使用以下命令:
[5,4,3,2,1,0]
range(5, -1, -1)
这可能不太直观,但正如评论所提到的,这是更有效的和范围的正确使用为反向列表。
使用“range”内置函数。签名是
range(start, stop, step)
。这将生成一个序列,该序列从start
开始,在到达stop
时结束,不包括stop
。在Python 3中,这将生成一个非list
range
对象,它的功能与只读列表类似(但使用的内存更少,特别是在大范围内)。您可以使用
range(10)[::-1]
,这与range(9, -1, -1)
是一样的,而且可以说更具可读性(如果您熟悉常用的sequence[::-1]
Python习惯用法)。使用
reversed()
函数:它更有意义。
更新:
如果你希望它是一个列表(正如btk指出的那样):
更新:
如果只想使用
range
来获得相同的结果,可以使用它的所有参数。range(start, stop, step)
例如,要生成列表
[5,4,3,2,1,0]
,可以使用以下命令:这可能不太直观,但正如评论所提到的,这是更有效的和范围的正确使用为反向列表。
相关问题 更多 >
编程相关推荐