python字符串拼接效率比较

直接看代码

方式一:

import time
start_time = time.perf_counter()
s = ''
for n in range(0,1000):
    s += str(n)
end_time = time.perf_counter()

print('Time elapse:{}'.format(end_time - start_time))

方式二:

import time
start_time = time.perf_counter()
s = []
for n in range(0,1000):
    s.append(str(n))
''.join(s)
end_time = time.perf_counter()
print('Time elapse:{}'.format(end_time - start_time))

方式三:

import time
start_time = time.perf_counter()
s = ''.join(map(str,range(0,1000)))
end_time = time.perf_counter()
print('Time elapse:{}'.format(end_time - start_time))

条数和时间效果如下:

方案\条数1000100000(十万条)10000000(一千万条)
方式一(+=)
0.0006100520004110876
0.053987349001545226
5.24716751743108
方式二(list,join)
0.00047015399832162075
0.038282303998130374
4.119422915999166
方式三(map,join)
0.00022071799685363658
0.021825258001626935
2.6899159259992302

根据时间总结出,1000条时方式一优于方式二,十万条及以后,就是方式二优于方式一了,但方式三一直都是最优方式。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值