連線字串應優先使用join而不是

2021-09-26 10:29:55 字數 597 閱讀 1953

python中的字串為不可變物件,一旦建立便不能改變,這個特性直接影響到python中字串連線的效率。

name, address, school =

"watkins"

,"siso"

,"swjtu"

# 使用操作符+

print

(name + address + school)

# 使用join方法

print(''

.join(

[name, address, school]

))

當用操作符+連線字串的時候,在n個字串連線的過程中會產生n-1個中間結果,每產生乙個中間結果都需要申請和複製一次記憶體,總共需要申請n-1次記憶體,從而嚴重影響了執行效率。

而當用join()方法連線字串的時候,會首先計算需要申請的總的記憶體空間,然後一次性申請所需記憶體並將字串行中的每乙個元素複製到記憶體中去,所以join操作的時間複雜度為o(n)。

因此,字串的連線,特別是大規模字串的處理,應該盡量優先使用join而不是+。

(最近更新:2023年05月21日)

python中連線字串用join還是

join的效能明顯好於 這是為什麼呢?原因是這樣的,python字串是不可變物件,當用操作符 連線字串的時候,每執行一次 都會申請一塊新的記憶體,然後複製上乙個 操作的結果和本次操作的右操作符到這塊記憶體空間,因此用 連線字串的時候會涉及好幾次記憶體申請和複製。而join在連線字串的時候,會先計算需...

Python 字串 join 方法

python 字串有兩個 join 方法 語法 sep join seq 引數說明 以 sep 為分隔符,將 seq 中的所有元素合併成乙個新的字串,返回乙個以分隔符 sep 連線各個元素後生成的字串 例項 序列,以逗號為分隔符 join hello good boy hello,good,boy ...

python基礎 字串的join 函式使用

python 字串的join 函式,支援字串的特殊拼接,用於將序列中的元素與指定的字元或者字串連線生成乙個新的字串。join 的使用語法為 str.join sequence sequence 為要連線的元素序列。字串與指定字元連線 示例 以b字串為基準,將b與指定字元連線起來。a a b bcd ...