当前位置: 首页 > news >正文

微信小程序属于什么电商平台/宁波网络推广seo软件

微信小程序属于什么电商平台,宁波网络推广seo软件,建设网站的一般过程,广东东莞今日疫情Python 连接字符串应优先使用 join 而不是 简介 字符串处理在大多数编程程序语言中都不可避免,字符串的连接也是在编程过程中经常需要面对的问题。 Python中的字符串与其他一些程序语言如C、Java有一些不同,它为不 可变对象。 一旦创建便不能改变&…

Python 连接字符串应优先使用 join 而不是 +

简介

字符串处理在大多数编程程序语言中都不可避免,字符串的连接也是在编程过程中经常需要面对的问题。 Python中的字符串与其他一些程序语言如C++、Java有一些不同,它为不 可变对象。 一旦创建便不能改变,它的这个特性直接影响到Python中字符串连接的效率。 我们首先来看常见的两种字符串连接方法。

使用操作符+连接字符串的方法如下:

strl, str2, str3 =“testing”, “string”,“concatenation”
strl + str2 + str3
‘testingstringconcatenation’
3.9.2. 使用join方法连接字符串的方法如下:
‘’.join ([strl, str2, str3])
‘testingstringconcatenation’
思考这么一个问题:上述两种字符串连接的方法除了使用形式上的不同还有其他区别 呜?性能上会不会有所差异呢?来看下面这个测试例子:

import timeit

#生成埘试所雋要的字符數组

strlist=[“it is a long value string will not keep in memory” for n in range(100000)]

def join_test():
#使用join方法连接strlist中的元#并返回字符串
return ’ ’ . join (strlist)
def plus_test():
result =“”
for i,v in enumerate(strlist):
#使用*进行宇符串连接
result=(result + v)
return result
现在开始测试:

jointimer = timeit.Timer(“join_test()” ,“from main import join_test”)
print (jointimer.timeit(number = 100))
0.11032061399964732
第二种方式:

plustimer = timeit.Timer (“plus_test()”,“from main import plus_test”)
print( plustimer.timeit(number = 100))
1.025606508999772
给上曲的程序传入一组测试参数(测试参数为3, 10,100,1000,10000, 100000; 分 别表示每一次测试所要连接的字符串的数量X程序用于测试 join_test() 和 plus_test() 这两个方法在宇符串连接规模改变时所消耗时间的变化。

测试结果记录如表所示

_images/27-1.png
下图所示的X.Y图表示,其中X轴表示所要连接的字符串的数量,Y轴 表示消耗的时间

_images/27-2.png
从分析测试结果图表我们不难发现:分别使用join方法和使用+操作符来连接字符串. join()方法的效率要高于+操作符,特別是字符串规模较大的时候,join()方法的优势更为明显(如连接数为100000的时候,两者耗时相差上百倍)。造成这种差别的原因在哪里呢?我们来探讨一下。当用操作符+连接字符串的时候.由于字符串是不可变对象.其工作原理实际上是这样的:如果要连接如下字符串:S1+S2+S3+…….+SN,执行一次+操作便会在内存中申请一块新的内存空间,并将上一次操 作的结果和本次操作的右操作数复制到新 申请的内存空间,即当执行SI+S2的时候 会申请一块内存,并将SI、S2复制到该内 存屮.依次类推,如图

_images/27-3.png
因此.在 N个字符串连接的过程中,会产生N-I个 中间结果,每产生一个中间结果都需要申 请和复制一次内存,总共需要申请N-1次 内存,从而严童影响了执行效率。N越大,

对内存的申请和复制的次数越多,+操作符的效率就越低。因此.整个字符连接的过程中, 相当于S1被复制N-1次,S2被复制N-2次….SN复制1次(并不完全等同于S1复制N-1 次,因为后续复制都是对中间结果的复制所以字符串的连接时间复杂度近似为O(n^2)。 而当用 join() 方法连接字符串请的总的内存空间,然后一次 性申请所需内存并将字符序列中的每一个元素复制到内存中去, 所以 join 操作的时间复杂度 为 O(n)

因此,宇符串的连接,特别是大规模字符串的处理,应该尽量优先使用 join 而不是 + 。

http://www.bjxfkj.com.cn/article/403.html

相关文章:

  • 广州网站建设是什么/最新新闻热点事件2024
  • 重庆装修公司排行榜/关键词seo公司真实推荐
  • 嘉兴中小企业网站建设/东莞营销推广公司
  • 防做网站视频/北京网站优化步骤
  • wordpress开放注册/新乡百度网站优化排名
  • 上海高端网站制作公司/百度ai人工智能
  • 企业网站建设 制作/百度指数明星搜索排名
  • 有哪些网站做美食的图片很精致/百度top排行榜
  • 中国建设银行官网站企业银行/今日头条站长平台
  • 手机网站做多少钱/seo诊断
  • 做阿里国际网站多少钱/如何建立公司网站网页
  • 建立网站的市场价格/网站入口
  • 上海做网站找哪家好/网站seo哪家公司好
  • wordpress 整站采集/重庆seo推广外包
  • 二维码生成器在线/福建seo快速排名优化
  • 如何做优酷网站点击赚钱/太原网站关键词推广
  • 跨境电商b2b平台主要有哪些/seo技术介绍
  • wordpress登录去不了后台/seo系统推广
  • 丹徒网站建设机构/新网域名
  • 上海市建设工程检测行业协会网站/门户网站排行榜
  • 合肥住房城乡建设部的网站/什么是搜索引擎营销?
  • 江苏省建设工人考勤网站/seo关键词优化平台
  • 提高网站收录/手机端关键词排名优化软件
  • 中山网站建设工具猫/网络工程师培训班要多少钱
  • 汽车城网站建设方案/最基本的网站设计
  • 厦门网站建设有限公司怎么样/自己如何建立网站
  • 论坛类网站开发报价/公司广告推广
  • 长沙网站设计服务商/武汉seo百度
  • 中小企业网站建设价格/提高网站排名的软件
  • 南宁网站制作费用/企业网站建设方案策划书