有沒有什麼辦法在python中添加一個字符串到另一個字符串的末尾?例如在python中創建兩個字符串中的一個字符串
字符串1 = 'A' String2的= 'B'
,我想在python STRING3 == 'AB'
有沒有什麼辦法在python中添加一個字符串到另一個字符串的末尾?例如在python中創建兩個字符串中的一個字符串
字符串1 = 'A' String2的= 'B'
,我想在python STRING3 == 'AB'
字符串連接是直接的
a = "A"
b = "B"
c = a + b
print c
> AB
我爲基準的三個操作,每個執行1m:
c = a + b
c = '%s%s' % (a,b)
c = "{0}{1}".format(a, b)
並且結果s是:
+: 0.232225275772
%s: 0.42436670365
{}: 0.683854960343
即使有500個字符串,+仍然是目前爲止最快的。我script is on ideone和結果(500名字符的字符串)是:
+: 0.82
%s: 1.54
{}: 2.03
你可以用最簡單的版本:String3 = String1 + String2
或格式化操作(在python3不建議使用):String3 = '%s%s' % (String1, String2)
在Python中,+運算符連接字符串:
>>> String3 = String1 + String2
>>> String3
'AB'
這是最簡單的方法,通常它是正確的選擇。但是,有時您可能需要更多efficient string concatenation。
您也可以嘗試str.join():
>>>s1='a'
>>>s2='b'
>>>s3=''.join((s1,s2))
>>>s3
'ab'
,如果你還寫:
>>>s3='WhatEver'.join((s1,s2))
>>>s3
'aWhatEverb'
爲了簡單起見,當速度並不重要,你不能擊敗的難易程度c=a+b
。如果速度很重要(例如,因爲您正在進行大量的連續級聯),則可以使用str.join()
can be a little more efficient (code at ideone)。
+: 2.51
''.join([a,...z]): 0.2
append(): 2.05
從我可以告訴,如果你不碰中間產品製造連續級聯,我最好每次追加除了列表,然後立刻加入了一切。對於單個級聯情況,a+b
仍然快於a.join(b)
而且我總是認爲字符串與+符號串聯緩慢。也許是因爲琴絃太短? – 2011-03-08 22:42:04
也許,我已經將腳本上傳到了Ideone,結果更加明顯:http://ideone.com/a6JMi – fredley 2011-03-08 22:46:13
我不知道.format方法比格式化的%方法慢。我認爲.format是首選的方法。它一直比較慢嗎? – Curious2learn 2011-03-09 02:57:46