Напишите функцию, которая будет принимать список списков и возвращать новый список списков, содержащий все элементы старого за исключением внешних.
Примечания
- 2D-сетка всегда имеет форму прямоугольника или квадрата.
- Возвращать нужно именно список списков, за исключением ситуации, когда элементов просто нет. В таком случае нужно вернуть пустой список.
Примеры
peel_layer_off([ ["a", "b", "c", "d"], ["e", "f", "g", "h"], ["i", "j", "k", "l"], ["m", "n", "o", "p"] ]) ➞ [ ["f", "g"], ["j", "k"] ] peel_layer_off([ [1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25], [26, 27, 28, 29, 30], [31, 32, 33, 34, 35] ]) ➞ [ [7, 8, 9], [12, 13, 14], [17, 18, 19], [22, 23, 24], [27, 28, 29] ] peel_layer_off([ [True, False, True], [False, False, True], [True, True, True] ]) ➞ [[False]] peel_layer_off([ ["hello", "world"], ["hello", "world"] ]) ➞ []
Варианты решений
def peel_layer_off(lst): return [i[1:-1] for i in lst[1:-1]]
def peel_layer_off(lst): return [[lst[x][y] for y in range(1, len(lst[x])-1)] for x in range(1, len(lst)-1)]
def peel_layer_off(lst): l = [] for sub in lst[1:-1]: l.append(sub[1:-1]) return l