Я работаю со списками и у меня возник вопрос. Итак, в основном у меня есть 3D-список, в котором я пытаюсь, чтобы после for l oop я сохранял второй и предпоследний элемент внутреннего списка, мой код выполняет свою работу, но он меняется с 3D-списка на 2D list, и я не хочу этого (это просто пример, в mylist может быть больше элементов) вот мой код
mylist = [[[0, 4, 3, 5, 1], [0, 2, 1], [0, 2, 3, 1], [0, 3, 5, 1], [0, 2, 5, 3, 1]],
[[0, 4, 1], [0, 2, 1], [0, 4, 3, 1], [0, 4, 5, 1], [0, 4, 3, 1]]]
aux = []
for i in mylist:
for j in i :
if len(j) >= 4:
aux.append(j[1:-1])
print(aux)
# aux= [[4, 3, 5], [2, 3], [3, 5], [2, 5, 3], [4, 3], [4, 5], [4, 3]]
Я получил почти то, что мне нужно, но я ожидал этого вывода
aux = [[[4, 3, 5], [2, 3], [3, 5], [2, 5, 3]], [[4, 3], [4, 5], [4, 3]]] #Mantains the 3D dimension
Я работаю над пониманием списка, но не совсем уверен, как это сделать, это то, что я пытаюсь
aux = [[j[1:-1] if len(j) >= 4 for j in i] for i in mylist]
#But I get a syntax error
Я не знаю, есть ли Более простой способ сделать это (должно быть, но я тот парень, который все усложняет), возможно, гораздо более легкий способ понимания списка, которого я не вижу, поэтому любая помощь будет оценена, спасибо!