python字符串连接方法效率比较

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


1

website = ‘python‘ + ‘tab‘ + ‘.com‘

方法2:join方法


1

2

listStr = [‘python‘‘tab‘‘.com‘

website = ‘‘.join(listStr)

方法3:替换


1

website = ‘%s%s%s‘ % (‘python‘‘tab‘‘.com‘)

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

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

另外使用字符串连接的时候注意不同类型直接连接错误情况:unicode和字符串可以直接连接,字符串和汉字可以了直接连接,但是unicode和汉字不可以直接连接

参考:

1、https://www.cnblogs.com/chenjingyi/p/5741901.html 这篇博客的结论有问题,所测试方法依然是重新申请了内存

原文地址:https://www.cnblogs.com/shengulong/p/8269972.html

时间: 2024-10-10 05:37:30

python字符串连接方法效率比较的相关文章

Python学习笔记--Python字符串连接方法总结

声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的字符串连接方式:str1 + str2 这个估计是Python中最常用的方式,直接用 “+” 来连接两个字符串: 'Jim' + 'Green' = 'JimGreen' 2)python 新字符串连接语法:str1, str2 第二种比较特殊,如果两个字符串用“逗号”隔开,那么这两个字符串将被连接

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

python字符串连接的方法,一般有以下三种:方法1:直接通过加号(+)操作符连接website=& 39;python& 39;+& 39;tab& 39;+& 39; com& 39;方法2 python字符串连接的方法,一般有以下三种: 方法1:直接通过加号(+)操作符连接 1 website = 'python' + 'tab' + '.com' 方法2:join方法 1 2 listStr = ['python', 'tab', '.com'] 

python字符串连接超过2个,用join代替+号

python字符串连接效率问题 在python效率的讨论问题中字符串的连接效率有提过,多数建议使用join来代替"+"进行字符串连接 python中一切皆对象 字符串对象就是c api中得stringobject.c看python源码的objects文件可以找到 1."+".使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是

python字符串连接方式有哪些

在python开发中,会经常用到python字符串http://www.maiziedu.com/group/article/10646/,在python字符串操作中常用的无外乎就是替换.删除.截取.复制.连接.比较.查询.分割等等,今天小编不给大家讲那么多,就单独讲讲python字符串连接的方式有哪些,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 str2 % 连接字符串:'nam

python字符串连接的N种方式

python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 str2 % 连接字符串:‘name:%s; sex: ’ % ('tom', 'male') 字符串列表连接:str.join(some_list) 第一种,想必只要是有编程经验的人,估计都知道,直接用 “+” 来连接两个字符串: 'Jim' + 'Green' = 'JimGreen' 第二种比较特

关于python字符串连接的操作

python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 str2 % 连接字符串:‘name:%s; sex: ’ % ('tom', 'male') 字符串列表连接:str.join(some

Python字符串expandtabs()方法

Python字符串expandtabs()方法返回一个字符串的副本,其中tab字符.使用空格扩展’\t‘,可选地使用给定的制表符大小 - tabize(默认值为8). 语法:str.expandtabs(tabsize = 8) 参数:tabsize - 这指定了替换字符“\t”要替换的字符数. 返回值:此方法返回一个字符串的副本,其中使用空格扩展了“\t”字符. 示例:以下示例显示了expandtabs()方法的用法. >>>s = "a\tbcd\tefg\n1\t2340

python字符串连接效率问题

在python效率的讨论问题中字符串的连接效率有提过,多数建议使用join来代替"+"进行字符串连接 python中一切皆对象 字符串对象就是c api中得stringobject.c看python源码的objects文件可以找到 1."+".使用加号连接2个字符串会调用静态函数string_concat(register PyStringObject *a ,register PyObject * b),在这个函数中会开辟一块大小是a+b的内存的和的存储单元,然后

几种常见的字符串连接方法连接速度分析

在平时的开发中难免会遇到字符串拼接的情况.比较常用的方法有:StringBuilder,+运算符,string.Format和string.Concat. 在.NET程序员中一直流传着一个传说:StringBuilder的性能可以吊打+运算符.不知道大家有没有亲自测试过这个传说,反正我以前没有没测试过. 通过查看源代码可以发现string.Format是通过调用StringBuilder中的方法来实现字符串拼接的.而且相对来说string.Format对字符串的格式很友好.所以在平时的开发中我最