Преобразование из вложенных списков в строку с разделителями

Отказ от ответственности: я новичок в Python.

У меня есть внешняя служба, которая отправляет нам данные в формате строки с разделителями. Это списки предметов, глубиной до 3 уровней. Уровень 1 делится на '|'. Уровень 2 делится на ';' а уровень 3 делится на «,». Каждый уровень или элемент может содержать 0 или более элементов. Упрощенный пример:
a,b;c,d|e||f,g|h;;

У нас есть функция, которая преобразует это в вложенные списки, что и используется в Python.

 def dyn_to_lists(dyn): return [[[c for c in b.split(',')] for b in a.split(';')] for a in dyn.split('|')] 

В приведенном выше примере эта функция приводит к следующему:

 >>> dyn = "a,b;c,d|e||f,g|h;;" >>> print (dyn_to_lists(dyn)) [[['a', 'b'], ['c', 'd']], [['e']], [['']], [['f', 'g']], [['h'], [''], ['']]] 

Теперь я могу написать конструкцию цикла, чтобы преобразовать ее обратно в формат с разделителями, но это было бы грязно. Есть ли более похожий на Python способ записи функции lists_to_dyn(lists) ?

 
Interesting Posts for Van-Lav
Python - лучший язык программирования в мире.