Решение если у тебя бесконечные ресурсы:
mas = [1, 2, 3, 0, 5, 3, 6, 0, 7, 5]
res = [list(map(int, list(el))) for el in ''.join(map(str, mas)).split('0')]
print(res)
Одно из решений питониста джуна:
mas = [1, 2, 3, 0, 5, 3, 6, 0, 7, 5]
res = []
temp = []
for el in mas:
if el != 0:
temp.append(el)
else:
res.append(temp)
temp = []
else:
res.append(temp)
print(res)
И, наконец, решение питониста повидавшего жизнь. Используется библиотека
more_itertools:
from more_itertools import split_at
mas = [1, 2, 3, 0, 5, 3, 6, 0, 7, 5]
res = list(split_at(mas, lambda x: not x))
print(res)
Если есть ещё какие-нибудь интересные решения, можете приложить в комментарии к ответу.