我正试着列一个数字为1-1000的清单。显然,这将是令人讨厌的写/读,所以我试图使一个范围内的列表。在Python 2中,似乎:
some_list = range(1,1000)
会工作,但在Python 3中,范围类似于Python 2的xrange ?
有人能对此提供一些见解吗?
我正试着列一个数字为1-1000的清单。显然,这将是令人讨厌的写/读,所以我试图使一个范围内的列表。在Python 2中,似乎:
some_list = range(1,1000)
会工作,但在Python 3中,范围类似于Python 2的xrange ?
有人能对此提供一些见解吗?
当前回答
在Python 3中。X, range()函数有自己的类型。在这种情况下,你必须使用迭代器
list(太阳城(1000)
其他回答
Python3缺少直接获取远程列表的函数的原因是,最初的Python3设计者在Python2方面是新手。他只考虑在for循环中使用range()函数,因此,列表永远不需要扩展。事实上,我们经常需要使用range()函数来生成一个列表并传递给一个函数。
因此,在这种情况下,Python3比Python2更不方便,因为:
在Python2中,我们有xrange()和range(); 在Python3中,我们有range()和list(range())
尽管如此,你仍然可以这样使用列表展开:
[*range(N)]
实际上,如果你想要1-1000(包括),使用带有参数1和1001的range(…)函数:range(1,1001),因为range(start, end)函数从start到(end-1),包括(end-1)。
在Python 3中。X, range()函数有自己的类型。在这种情况下,你必须使用迭代器
list(太阳城(1000)
在Python 3中使用Range。
下面是一个示例函数,返回两个数字之间的数字
def get_between_numbers(a, b):
"""
This function will return in between numbers from two numbers.
:param a:
:param b:
:return:
"""
x = []
if b < a:
x.extend(range(b, a))
x.append(a)
else:
x.extend(range(a, b))
x.append(b)
return x
结果
print(get_between_numbers(5, 9))
print(get_between_numbers(9, 5))
[5, 6, 7, 8, 9]
[5, 6, 7, 8, 9]
Python 3:
my_list = [*range(1001)]