2015-06-17 94 views
3

我在Python列表看起來像這樣的列表:蟒蛇嵌套列表理解的字符串連接

[['a', 'b'], ['c', 'd']] 

我要拿出一個像這樣的字符串:

a,b;c,d 

因此,清單應可以用一個;分離,同一列表的值應該用,

分開到目前爲止,我試過','.join([y for x in test for y in x])返回a,b,c,d。不過,就像你所看到的那樣。

+0

「所以名單應該進行分隔;而同一列表的值應該用分開,」 - 那不是一個python列表。這是一個字符串 – matcheek

+2

'';'。join(','。join(xs)for xs in lst)' – falsetru

+0

是的,最終的輸出應該是一個字符串。將相應地更新這個問題來說明問題。 – beta

回答

8
";".join([','.join(x) for x in a]) 
+0

我的實際數據包含浮點值:/ 和python now錯誤'TypeError:sequence item 0:expected str instance,float found' ... – beta

+0

在這種情況下,我需要使用下面的代碼:'「;」。join [','。join(map(str,x))for value in value])' – beta

6
>>> ';'.join(','.join(x) for x in [['a', 'b'], ['c', 'd']]) 
'a,b;c,d' 
0

要做到這一點功能,你可以使用地圖:

l = [['a', 'b'], ['c', 'd']] 


print(";".join(map(".".join, l))) 
a.b;c.d