2
聲明:我是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)
函數?
你不需要建立中間的列表,發電機表達式是足夠的。 – roippi
@roippi感謝您的提示!我已更新該帖子。 – dparpyani
謝謝@dparpyani!與我玩的相比,這非常整齊。乾杯。 –