Python - 创建一个以给定值开始并以给定长度结束的列表

时间:2017-03-21 06:06:52

标签: python list

如何创建具有列表起始值和长度的列表。例如,如果我想从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}的值是列表的大小而不是列表的结束值?

6 个答案:

答案 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)

你的def

中的

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]