免责声明:我是 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)
函数?