如何创建具有列表起始值和长度的列表。例如,如果我想从17开始制作一个长度为5的列表:
num_list = [17, 18, 19, 20, 21]
我尝试了以下但是没有产生正确的结果
def answer(start, length):
id_arr = list(range(start, length))
print(id_arr)
answer(17, 10)
Output: []
我理解这个的原因是因为,在这种情况下,起始值是17,但是,它试图以值10结束,从而创建一个空列表,这样我怎么能得到{{1}的值是列表的大小而不是列表的结束值?
答案 0 :(得分:7)
范围功能本身可以为您完成所有这些。
range(starting value, endvalue+1, step)
所以你可以去range(17,22)
如果您编写自定义函数,请转到:
def answer(start, length):
id_arr = list(range(start, start+length))
print(id_arr)
answer(17, 5)
output :
[17, 18, 19, 20, 21]
答案 1 :(得分:3)
id_arr = list(range(start, start+length))
应该给你想要的结果
答案 2 :(得分:1)
不是,第一个参数是下限,第二个参数是半开区间的上限。
list(range(10,20))
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
答案 3 :(得分:1)
def answer(start, length):
id_arr = list(range(start, start+length))
print(id_arr)
answer(17, 5)
答案 4 :(得分:1)
只是附加到列表直到范围。
def answer(start,length):
anslist=[start]
for ans in range(length):
anslist.append(start+ans)
print anslist
答案 5 :(得分:1)
Python中的内置范围函数对于生成序列非常有用 列表形式的数字。如果我们在范围内提供两个参数第一个是起点,第二个是终点。给定的端点永远不是生成列表的一部分。所以我们可以使用这个方法:
def answer(start, length):
id_arr = [list_items for list_items in range(start, start + length)]
print id_arr
answer (17, 5)
>> [17, 18, 19, 20, 21]