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

 

posted @ 2017-06-06 21:32  JustLittle  阅读(1584)  评论(0编辑  收藏  举报