Предположим num = 10
создать список, -5 и + 5 из заданного числа
хотите выход, как [5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Пробовал: range(num-5, num) + range(num, num+5)
Есть другой способ для достижения этой цели?
Предположим num = 10
создать список, -5 и + 5 из заданного числа
хотите выход, как [5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
Пробовал: range(num-5, num) + range(num, num+5)
Есть другой способ для достижения этой цели?
начало использования range
«s и остановить параметры, как этот
>>> 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]