#python #python-3.x
Вопрос:
Я хочу распечатать часть списка, вырезанную из его середины
def region_around(lst, index):
return lst[index-3:index 3]
lst = [i for i in range(10)]
print(region_around(lst, 5)) # correctly prints [2, 3, 4, 5, 6, 7]
print(region_around(lst, 0)) # incorrectly prints []
Во втором случае region_around(lst, 0)
, я хочу [0, 1, 2]
, чтобы срез был сделан только с положительной частью lst[:3]
Как я могу ограничить кусочек, как я хочу?
Ответ №1:
Я вспомнил, что терминология была «зажим», и поиск показал мне, что, конечно, я могу просто сделать
def region_around(lst, index):
return lst[max(0, index-3):index 3]
Комментарии:
1. я был слишком быстр ,милый