使用python字符串连接的三种方法及其效率、适用场景详细介绍

python字符串连接的方法,一般有以下三种:

方法1:直接通过加号(+)操作符连接

website = 'python' + 'tab' + '.com'

登录后复制

方法2:join方法

listStr = ['python', 'tab', '.com'] website = ''.join(listStr)

登录后复制

方法3:替换

website = '%s%s%s' % ('python', 'tab', '.com')

登录后复制

下面再来说一下三种方法的不同

方法1,使用简单直接,但是网上不少人说这种方法效率低

之所以说python 中使用 + 进行字符串连接的操作效率低下,是因为python中字符串是不可变的类型,使用 + 连接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当连续相加的字符串很多时(a+b+c+d+e+f+…) ,效率低下就是必然的了

方法2,使用略复杂,但对多个字符进行连接时效率高,只会有一次内存的申请。而且如果是对list的字符进行连接的时候,这种方法必须是首选

方法3:字符串格式化,这种方法非常常用,本人也推荐使用该方法

立即学习“Python免费学习笔记(深入)”;

下面用实验来说明字符串连接的效率问题。

比较对象:加号连接 VS join连接python版本: python2.7系统环境:CentOS

登录后复制

实验一:

# -*- coding: utf-8 -*-from time import timedef method1():    t = time()    for i in xrange(100000):        s = 'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'+'pythontab'    print time() - tdef method2():    t = time()    for i in xrange(100000):        s = ''.join(['pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab','pythontab'])    print time() -tmethod1()method2()

登录后复制

结果:

0.6416959762570.341440916061

登录后复制

实验二:

# -*- coding: utf-8 -*-from time import timedef method1():    t = time()    for i in xrange(100000):        s = 'pythontab'+'pythontab'+'pythontab'+'pythontab'    print time() - tdef method2():    t = time()    for i in xrange(100000):        s = ''.join(['pythontab','pythontab','pythontab','pythontab'])    print time() -tmethod1()method2()

登录后复制

结果:

0.02656912803650.0522091388702

登录后复制

上面两个实验出现了完全不同的结果,分析这两个实验唯一不同的是:字符串连接个数。

结论:加号连接效率低是在连续进行多个字符串连接的时候出现的,如果连接的个数较少,加号连接效率反而比join连接效率高

以上就是使用python字符串连接的三种方法及其效率、适用场景详细介绍 的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2276230.html

(0)
上一篇 2025年2月27日 15:03:18
下一篇 2025年2月27日 15:03:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python的字符串匹配详细介绍

    这篇文章主要介绍了python做简单的字符串匹配详解的相关资料,需要的朋友可以参考下 Python做简单的字符串匹配详解  由于需要在半结构化的文本数据中提取一些特定格式的字段、数据辅助挖掘分析工作,以往都是使用Matlab工具进行结构化数…

    编程技术 2025年2月27日
    200
  • 学习python基础知识字符串的总结

        在我们学习python基础教程的过程中,一般会涉及字符串、列表、元组、字典等基础知识,接下来会将自己学习字符串、列表、元组以及字典的案例等记录如下: 一、字符串: 字符串是 Python 中最常用的数据类型。我们可以使用引号(&#8…

    编程技术 2025年2月27日
    200
  • python利用正则表达式提取字符串的方法

    前言正则表达式的基础知识就不说了,有兴趣的可以点击这里,提取一般分两种情况,一种是提取在文本中提取单个位置的字符串,另一种是提取连续多个位置的字符串。日志分析会遇到这种情况,下面我会分别讲一下对应的方法。一、单个位置的字符串提取这种情况我们…

    2025年2月27日
    200
  • Python学习基础之字符串处理了解

    Python字符串处理字符串输入: my_string = raw_input(“please input a word:”) 登录后复制 字符串判断:(1) 判断是不是纯字母 my_string.isalpha() 登录后复制 字符串搜索…

    编程技术 2025年2月27日
    200
  • 什么是字符串?(2)转义字符与运算符

    在之前的文章之中我们了解了python字符串,以及知道了一些字符串的使用方法,学会了如何进行python字符串截取以及更新修改字符串。这些都是属于比较简单的一些字符串的处理方法,接下来我们继续来对字符串进行了解以及学习。 python转义字…

    2025年2月27日
    200
  • Python字符串的处理那些事

    本章介绍了python字符串的编写与处理,在之前,我们搞清楚了令人头疼的字符编码问题后,我们再来研究python的字符串。 在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言,例如: &…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论