python中字符串拼接join

2023-11-17

python中字符串处理函数有"str".join(seq),拼接字符串,和os.path.join()返回拼接后的字符串。

一、"str".join(sequenue),join函数

python下拼接字符串可通过join函数实现,使用方法:

string.join(sequence)

其中:string         ==>> 字符串拼接符

           sequence  ==>> 要拼接的对象,可为字符串、元祖、列表、字典、集合

实例如下:

>>> a=['hello', 'world']     //列表
>>> print(":".join(a))
hello:world
>>> print(" ".join(a))
hello world
>>> b='hello world'          //字符串
>>> print(":".join(b))
h:e:l:l:o: :w:o:r:l:d
>>> print(" ".join(b))
h e l l o   w o r l d
>>> c=('hello', 'world')     //元祖
>>> print(":".join(c))
hello:world
>>> print(" ".join(c))
hello world
>>> d={'a':1, 'b':2, 'c':3}   //字典,注意拼接的是key值
>>> print(":".join(d))
a:b:c
>>> print(" ".join(d))
a b c
>>> e={'1', '2', '3'}        //集合,注意打印的是无序的
>>> print(":".join(e))
2:1:3
>>> print(" ".join(e))
2 1 3
>>> print("".join(e))       //拼接符可以为空
213

执行效率和“+”比较,join相对效率较高,原因如下(引用):

-==-=-=-=-=-=--=--==-=-=-==-=-==-=-=-=-=-=-=-=-=-=-=-=-=

Python中字符串是不可变对象,修改字符串就得将原字符串中的值复制,开辟一块新的内存,加上修改的内容后写入到新内存中,以达到“修改”字符串的效果。在使用“+”拼接字符串时,正是使用了重复性的复制、申请新内存、写入值到新内存的工作一遍遍的将字符串的值修改。而使用join()方法拼接字符串时,会先计算总共需要申请多少内存,然后一次性申请所需内存并将字符串复制过去。这样便省去了重复性的内存申请和写入,节省了时间消耗。
-----------------------------------------------------------------------------------------------------

二、os.path.join()函数,将多个字符串拼接,返回连接的字符串

实例如下:

>>> import os
>>> os.path.join('hello', 'world')
'hello/world'                         //用/连接两个字符
>>> 
>>> os.path.join('hello', '/world')   //存在/开头字符串,则/之前的丢弃 
'/world'
>>> os.path.join('hello/', '/world')  //存在/开头字符串,则/之前的丢弃 
'/world'
>>> os.path.join('hello/', 'world')
'hello/world'
>>> os.path.join('hello/', 'world', 'haha')  //存在/,则不会再添加/ 
'hello/world/haha'
>>> os.path.join('hello/', 'world', '/haha')  //存在/开头字符串,则/之前的丢弃 
'/haha'
>>> os.path.join('hello/', 'world', './haha') //正常拼接字符串
'hello/world/./haha'

注意:

1、拼接时,存在"/"开头的字符串,则之前的字符串丢弃;

2、若字符串存在"/",则拼接时不会再添加"/"。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python中字符串拼接join 的相关文章

随机推荐