2012-02-26 87 views
0
a = ('a', 'b', 'c') 
print(''.join(a)) 

什麼是''上線兩個含義?字符串模塊和這個''對象有什麼區別嗎?直觀Python字符串連接語法

+0

''''表示我們加入另一個字符串的空字符串。這是一個更pythonic的方式來做字符串連接 – zengr 2012-02-26 09:12:18

回答

6

''表示我們加入另一個字符串的空字符串。這是執行字符串連接的更pythonic方式。

檢查了這一點更多的見解:http://www.skymind.com/~ocrow/python_string/

PEP3126說(儘管其拒絕):

相反的:

「ABC」, 「DEF」 == 「ABCDEF」

作者需要明確,並添加字符串:

「ABC」 + 「DEF」 == 「ABCDEF」

或加入其中:

「」。加入([ 「ABC」, 「DEF」])== 「ABCDEF」

所以,兩者都是一樣的東西,加入只是更pythonic。

+0

@zenger它是否爲優良的性能進行了優化? – Dewsworld 2012-02-26 09:31:19

+0

是的,如果你看到博客文章中的基準,它比字符串+字符串concat更快。所以,是的。更好的表現和更pythonic。類似的問題:http://stackoverflow.com/questions/476772/python-string-join-performance – zengr 2012-02-26 09:38:41

+0

請注意,PEP 3126被標記爲拒絕。 – Duncan 2012-02-26 10:04:42

3

您提供的代碼片段創建一個包含空字符串的字符串對象,然後調用其中一個方法。這是several ways to concatenate strings之一。

+0

10秒的差異;) – zengr 2012-02-26 09:14:04

0

連接是str的metod。因此,''in .join(可迭代)中的''是元素之間的分隔符,元素是迭代中的項目(它們需要是字符串)。這非常有用,特別是當分隔符不僅僅是'',而是'','join'(可迭代)時,這會給你一個單一的字符串,它是用逗號分隔的所有迭代項。