![](/img/trans.png)
[英]How to create a list that results a number from a given list, not the indices?
[英]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.