Python join()方法


Python中join()方法用於將序列中的字符串以固定字符串拼接后返回新的字符串

語法為:

str.join(sequence)

參數:

  • sequence --要連接的字符串序列

  • str --連接字符串的間隔字符串

示例1:

a = ['a', 'b', 'c', 'd', 'e']
b = '-'.join(a)
print(b)

結果如下:

該例子中,以-為間隔符,連接字符a、b、c、d、e

示例2:

a = 'How    are    you!'
b = a.split(' ')
c = [i for i in b if i != '']
d = ' '.join(c)
print(d)

結果如下:

該例子中,先將字符串通過字符' '空格符將字符串分割,再過濾掉其中的空格字符,最后再以空格符將原來的非空格字符串拼接起來

使用Join方法拼接字符串而不是'+'

拼接字符串有兩種方式

  • 直接使用'+'拼接,str = str1 + str2

  • 使用join方法拼接,''.join([str1,str2])

雖然上面兩種方法都可以實現需求,但性能差異較大,建議使用join方法,下面進行性能比較:

import time

list1 = ['test str' for n in range(1000000)]

start_time = time.time()
a = ''
for i in list1:
    a = a + i
end_time = time.time()
print(end_time - start_time)

start_time = time.time()
b = ''.join(list1)
end_time = time.time()
print(end_time - start_time)

結果如下:

可以看到使用加號拼接的速度比使用join方法慢了很多,原因是因為字符串是不可變對象,這就導致使用加號拼接時,每次拼接字符串都會重新分配內存,而join方法只分配一次內存


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM