Python_字符串連接


 1 #join() 與split()相反,join()方法用來將列表中多個字符串進行連接,並在相鄰兩個字符串之間插入指定字符
 2 li=['apple','peach','banana','pear']
 3 sep=','
 4 s=sep.join(li)
 5 print(s)    #使用逗號作為連接符
 6 s1=':'.join(li) #使用冒號作為連接符
 7 print(s1)
 8 s2=''.join(li)
 9 print(s2)
10 #使用split()和join()方法可以刪除字符串中多余的空白字符,如果有連續多個空白字符,只保留一個
11 x='aaa          bb      c d e fff'
12 print(' '.join(x.split()))
13 
14 def equalilent(s1,s2):  #判斷兩個字符串在python意義上是否等價
15     if s1 == s2:
16         return True
17     elif ' '.join(s1.split()) == ' '.join(s2.split()):
18         return True
19     elif ''.join(s1.split()) == ''.join(s2.split()):
20         return True
21     else:
22         return False
23 print(equalilent('pip list','pip    list'))
24 # True
25 print(equalilent('[1,2,3]','[1,2,3]'))  #判斷兩個列表寫法是否等價
26 # True
27 print(equalilent('[1,2,3]','[1,2,   3]'))
28 # True
29 print(equalilent('[1,2,3','[1,2 ,3,4]'))
30 # False
31 '''使用運算符"+"也可以連接字符串,但該運算符設計大量數據的復制,效率非常低,不適合大量長字符串的連接。'''
32 
33 import timeit
34 
35 #使用列表推導式生成10000個字符串
36 strlist = ['This is a long string that will not keep in memory.' for n in range(10000)]
37 
38 #使用字符串對象的join()方法連接多個字符串
39 def use_join():
40     return ''.join(strlist)
41 
42 #使用運算符"+"連接多個字符串
43 def use_plus():
44     result=''
45     for strtemp in strlist:
46         result = result+strtemp
47     return result
48 
49 if __name__=='__main__':
50     #重復運行次數
51     times=1000
52     jointimer = timeit.Timer('use_join()','from __main__ import use_join')
53     print('time for join:',jointimer.timeit(number=times))
54     # time for join: 0.1647309590189252
55     plustimer = timeit.Timer('use_plus()','from __main__ import use_plus')
56     print('time for plus:',plustimer.timeit(number=times))
57     # time for plus: 2.045372327003861

 


免責聲明!

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



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