从给定数字创建-5和+ 5的列表

时间:2016-01-13 11:26:02

标签: python list python-2.7 range

假设discardsInvalidObjectsOnInsert

想要输出num = 10

尝试:[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

还有其他方法可以达到这个目的吗?

4 个答案:

答案 0 :(得分:13)

使用range的启动和停止参数,例如

>>> range(num - 5, num + 5)
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

答案 1 :(得分:3)

你可以这样做

map(lambda x:x+5, range(10))

答案 2 :(得分:1)

好吧,我得说这个标题有点误导。

  

从给定数字创建-5和+ 5的列表   如果你想要[num-5,...,num, ...,num +5],那就不是主体中的例子了。

无论如何,有几种方法,让我们坚持使用范围:

num = 10
delta = 5
print range(num-delta, num+delta)
>[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

#Or, if you want [num-5, ..., num, ..., num+5]
print range(num-delta, num+delta + 1)
>[5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

答案 3 :(得分:1)

尝试这种方式:

range(num+5)[-10:]

或者这个:

>>> def range5(num):
...     i = num-5
...     nums=[]
...     while i < num+5:
...             nums.append(i)
...             i+=1
...     return nums
... 
>>> range5(10)
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> range5(20)
[15, 16, 17, 18, 19, 20, 21, 22, 23, 24]