Python 3.x 在python中创建从a到b的整数列表
创建从a(包含)到b(包含)的整数列表。 例子:Python 3.x 在python中创建从a到b的整数列表,python-3.x,Python 3.x,创建从a(包含)到b(包含)的整数列表。 例子: 整数(2,5)返回[2,3,4,5] 我知道这可能很简单,但我似乎什么都做不到 >>> def integers(a, b): return list(range(a, b+1)) >>> integers(2, 5) [2, 3, 4, 5] 要解释您自己的解决方案: 你能给我解释一下为什么在一些程序中你必须包含[i],而有些程序只是i def integers(a,b): list
整数(2,5)
返回[2,3,4,5]
我知道这可能很简单,但我似乎什么都做不到
>>> def integers(a, b):
return list(range(a, b+1))
>>> integers(2, 5)
[2, 3, 4, 5]
要解释您自己的解决方案:
你能给我解释一下为什么在一些程序中你必须包含[i]
,而有些程序只是i
def integers(a,b):
list = []
for i in range(a, b+1):
list = list + [i]
i
指数字本身[i]
是一个包含一个元素的列表,i
。当对列表使用+
操作符时,Python可以合并两个列表,因此[1,2]+[3,4]
是[1,2,3,4]
。但是,不可能只向现有列表中添加单个元素(本例中为数字)。尝试这样做将导致类型错误
您可以不使用一个元素列表进行连接,只需使用相同名称的方法附加元素:
list.append(i)
最后一点注意,您不应该将变量命名为
list
(或dict
或str
等),因为这将在本地覆盖对内置函数/类型的引用。这个问题很简单;我不想告诉你答案,因为你可以查一下。查看内置函数range()
的文档。由于您使用的是Python3.x,因此需要显式地强制range()
的输出扩展到一个列表,方法是通过调用list()
来包装它。它很简洁,不需要在列表中添加不必要的内容(在您这边)
使用np.arange。范例
i=np.arange(1,9)
这将导致
array([ 1, 2, 3, 4, 5, 6, 7, 8])
数组比python中的列表更好,非常紧凑,并且仅使用python标准库:
i=range(6)[2:]
创建一个包含6个成员(从0到6)的列表,并选择索引为2的成员
print(i)
[2, 3, 4, 5]
要选择其他范围,请尝试:
i=range(6)[2:4]
print(i)
[2, 3]
请将您的问题改为添加信息。谢谢。我现在明白了。@steveha我把你问题的答案放在这里:列表(范围(9))。比做numpy.arange(9.tolist()容易。
i=range(6)[2:4]
print(i)
[2, 3]