a=range(0,5)
print(a)
输出为什么是range(0,5)而不是一系列数字?
回答如下,记得采纳一下哦!这样试试
a=list(range(1,5))
最终问题的解答是python 2和python 3版本的range区别: python2中,直接输出确实是列表,python3中确是迭代器对象,直接打印输出的就是本身,所以你要加个list转换成列表,或者你直接循环是可以的,因为它是迭代器本身就可以循环的,你看下面链接:
https://blog.csdn.net/weixin_39746382/article/details/110320043
在 Python 3 中,range() 函数返回一个“范围对象”,而不是一个列表。这是为了提高内存使用效率,尤其是在需要处理大量数据的情况下。在 Python 2 中,range() 函数返回一个列表对象。
range() 函数用于生成一个整数序列,包含一个起始值、一个终止值和一个步长(可选)。如果省略步长,则默认为 1。例如,range(0, 5) 将生成整数序列 0、1、2、3、4。
要将 range() 函数生成的整数序列转换为列表,可以使用 list() 函数。例如,a = list(range(0, 5)) 将创建一个包含整数序列的列表对象 [0, 1, 2, 3, 4]。
因此,如果要输出 range(0, 5) 中的数字,可以将其转换为列表,然后打印列表对象。例如:
a = range(0, 5)
print(list(a)) # 输出 [0, 1, 2, 3, 4]
到这里我终于可以确定了,range() 函数的步长默认就是 1,并不会在一些情况下自动变为 -1,需要手动去设置,然后如果参数完全不合逻辑,返回是一个空的可迭代对象。