2012-05-05 87 views

回答

0
>>> L = [1, 2, 3] 
>>> ' '.join('%u' % x for x in L) 
'1 2 3' 
7

下面發生器表達' '.join(str(i) for i in [1,2,3])將改變每個號碼列表中的到空間分隔的字符串'1 2 3'

5

試試這個:

' '.join(map(str, [1, 2, 3])) 

或者這樣:

' '.join(str(x) for x in [1, 2, 3]) 

這一個作品了。它效率不高並且有點難看,但展示瞭如何使用完全不同的方法解決問題 - 即正則表達式。

import re 
re.sub(r'[],\[]', '', str([1, 2, 3])) 
+1

如果您刪除醜陋的'正則表達式'解決方案,我會對此+1:D – jamylak

+0

@jamylak現在怎麼樣?我沒有刪除它,但添加了一個關於醜陋的警告:) –

+0

好吧! – jamylak

-4

查看數組並將每個元素附加到一個字符串,以空字符串開頭。

+2

這不是Python中的首選方式。另外,'join'方法要快得多。 – rubik

+2

不僅如此,而且這是一個陷阱。這在CPython中不會太糟糕,但在其他實現中,這可能會導致性能下降。 –

0

我不清楚,是否要將[1,2,3]轉成'123''1 2 3'

' '.join(str(i) for i in [1,2,3]) 

將導致 '1 2 3'

''.join(str(i) for i in [1,2,3]) 

將導致 '123'

(注之間的差值 ''。加入和 ''。加入。)

相關問題