在python下测试三种进行字符串连接(+、%s格式化、join())方法的效率:
1 #!/usr/bin/env python
2 """Test string connect efficiency in diffrent methods"""
3
4 def test_add(stra, strb):
5 """Use '+' to connect"""
6 stra + strb
7
8 def test_join(stra, strb):
9 """Use 'join' method to connect"""
10 ''.join([stra, strb])
11
12 def test_format(stra, strb):
13 """Use '%s' to connect"""
14 '%s%s' % (stra, strb)
15
16 if __name__ == '__main__':
17 stra = 'abcdefghijklmnopqrstuvwxyz'
18 strb = '---------------01234567890'
19
20 import time
21
22 begin = time.time()
23 for i in range(10000000):
24 if i % 2 == 1:
25 stra = stra[1:]
26 strb = strb[1:]
27 test_add(stra, strb)
28 end = time.time()
29 print "'+' use: %s" % (end - begin)
30
31 begin = time.time()
32 for i in range(10000000):
33 if i % 2 == 1:
34 stra = stra[1:]
35 strb = strb[1:]
36 test_join(stra, strb)
37 end = time.time()
38 print "'join' use: %s" % (end - begin)
39
40 begin = time.time()
41 for i in range(10000000):
42 if i % 2 == 1:
43 stra = stra[1:]
44 strb = strb[1:]
45 test_format(stra, strb)
46 end = time.time()
47 print "'%%s format' use: %s" % (end - begin)
每种方法循环1千万次,
测试了三次,结论大致相同(单位:秒):
'+' use: 11.6591591835
'join' use: 17.7512509823
'%s format' use: 16.6519739628
'+' use: 11.7030470371
'join' use: 17.747961998
'%s format' use: 16.6497249603
'+' use: 11.6545419693
'join' use: 17.7758250237
'%s format' use: 16.6489379406
结论:
还是最常用的“+“的效率最高。
三种字符串连接方法的效率比较
最新推荐文章于 2021-09-03 16:41:24 发布