繁体   English   中英

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

[英]create list by -5 and + 5 from given number

假设num = 10

想要输出像[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

尝试: range(num-5, num) + range(num, num+5)

有没有其他方法来实现这一目标?

使用range的开始和停止参数,如下所示

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

你可以做到这一点

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

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

从给定的数字创建-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]

试试这种方式:

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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM