字符串拼接操作Python,python中如何拼接字符串
目录
解释
语法
例如
1.元素的排列是一个列表。
2.元素排列是元组。
3.元素序列是一个集合。
4.元素的排列是一本字典
5.元素序列是一个字符串
需要注意的事项
1.要连接的字符串序列(参数)必须是字符串。
2.可以省略字符串连接器。
3.如果迭代序列是集合,则拼接结果是无序的。
4.如果可重复序列是字典,则拼接结果是键拼接。
联接方法和“”之间的性能比较
Str.join()方法是Python的string方法,用于将一个序列中的元素按照指定的字符串连接成一个新的字符串。
语法string.join(sequence)名称描述注意字符串连接器可以省略sequence所连接的元素序列的不可避免的参数。序列的元素是一个字符串。
1.元素的排列如清单a=所示!@.加入([融合,球体,云])一个融合!@球体!@Cloud 2。元素数组是元组“”。加入((中国,日本,美国,英国))中国日本美国
英国3年。元素序列是集合“”。join ({c , h , I , n , a}) ahcni
可以看出,输出的字符顺序与集合中元素的顺序不一致。
4.元素序列是字典“~”。加入({ 亚洲:中国,欧洲:英国 })亚洲~欧洲。可以看出,如果序列是字典,那么拼接的字符就是字典的键。
5.元素序列是一个字符串。当元素序列只是一个字符串时,join函数将提取字符串中的每个字符,并将其与连接器组合在一起。
,.join(happy)h,a,p,p,y 注1。要连接的字符串序列(参数)必须是字符串。
join函数的参数应该都是由字符串组成的可迭代对象。当iterable对象不是全部由字符串组成时,Python将报告一个错误类型error。
例如,当参数是字符串和整数列表时:
*.join ([1 ,2]) traceback(最近一次调用last): file stdin ,line1,in module type错误:sequenceitem1:应为strinstance,intfound 2。可以省略字符串连接器。可以省略字符串连接器(空字符串)。当字符串连接符为空时,序列中的所有字符串将连接成一个字符串。join ([1 , 2 , 3 , 4 , 5]) 12345 3。当迭代序列是一个集合时,拼接结果是无序的。如果迭代的序列参数是一个集合,JOIN的返回结果不一定是集合中元素的顺序,而是无序的:
-.join ({a , b , c}) b-c-a 4。当迭代序列为字典时,拼接结果为键的拼接。如果迭代序列参数是字典,那么JOIN的返回结果是字典中键的拼接结果,而不是键值对。
您可以使用values函数拼接值的结果。
Test _ dict={a: a , b: b , c: c} 。join (test _ dict) abc 。join (test _ dict.values ()) abc 联接方法和
join()方法和number都可以拼接字符串,但是性能差别很大。
我们先来看下面这个例子:
下面的例子是将列表str_list中的每个元素分别用“”和join方法重复拼接执行1000次,比较时间差。
import def Spend(func):def wapper(* args,* * kwargs): start=time.time () #为了更好地体验性能差异,对范围内的I重复(1000): func(*args,* * kwargs)end=time . time()Spend _ time=end-start print( Spend time:% . 6f % Spend _ time)return wapper #按数字拼接字符串@ spendtefuse _ add _ operator(str _ list):result= 对于str _ list中的数据:result=result data return #join(str _ list)return if _ _ name _ _= _ main _ _ :#为了充分体现性能差异,我们把str _ list=[Python , OpenStack ,数据结构,算术, Flask , MySQL , Concurrency , PySpider , HTML , CSS , C ,C] print (1。使用添加运算符.)use _ add _ operator(str _ list)print(- * 30)print( 2。使用str。join()方法.)use _ join _ method (str _ list)运行如下:
1.使用添加运算符.花费时间:0.001079 - 2。使用str.join()方法.花费时间:0.000360。可以看出
那么为什么使用join()方法时间会更快一些呢?
因为字符串在Python中是不可变的对象,修改一个字符串需要复制原字符串中的值,打开一个新的内存,添加修改后的内容写入新的内存,达到“修改”字符串的效果。当" "用于拼接字符串时,是复制、申请新内存、将值写入新内存的重复工作一遍又一遍地修改字符串的值。但在使用join()方法拼接字符串时,它会先计算需要申请多少内存,然后一次性申请所需内存并复制字符串。这样就省去了重复的内存申请和写入,节省了时间消耗。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。