求python中join和split的详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求python中join和split的详解相关的知识,希望对你有一定的参考价值。

a='i love python' b=a.split() type(b)==list 然后'*'.join(b) 也成功了,想不通为什么b是list了,还能用join啊!直接用join(listc)却不行?想不通啊!难道牵连深浅拷贝的问题吗?求高人详细解答!手机党 排版请见谅

参考技术A >>> a='i love you'
>>> help(a.split)

Help on built-in function split:
split(...)
S.split(sep=None, maxsplit=-1) -> list of strings
Return a list of the words in S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator and empty strings are
removed from the result.
# 从帮助可以看出来,方法string.split()返回值本来就是list。

>>> help('*'.join)
Help on built-in function join:
join(...)
S.join(iterable) -> str
Return a string which is the concatenation of the strings in the
iterable. The separator between elements is S.
# 方法string.join()的作用就是把可枚举的数据结构串成一个字符串。

这个与深浅拷贝没有一毛钱的关系。
参考技术B string.split() 以后的返回值就是一个由几个string构成的list也就是由string构成的数组,
b = a.split() 得到 b = ['i','love','python'] ,
'*'.join(b)是string '*' 的方法而不是list的方法。
参考技术C 想不通为什么b是list了,那你认为b应该是什么?!!!!!!!!!!

Python入门-2编程基本概念:17字符串-split()分割-join()合并-join()效率测试

一:split()分割

  split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔 符,则默认使用空白字符(换行符/空格/制表符)。示例代码如下:

1 >>> a = "to be not to be"
2       
3 >>> a.split()
4       
5 [to, be, not, to, be]
6 >>> a.split("be")
7       
8 [to ,  not to , ‘‘]

二:join()合并

  join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。示例代码如下:

1 >>> a = [jack,jack001,jack002]
2       
3 >>> ‘‘.join(a)
4       
5 jackjack001jack002
6 >>> #.join(a)
7       
8 jack#jack001#jack002

注:拼接字符串要点:

  使用字符串拼接符+,会生成新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join 函数,因为join函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。

  【操作】测试+拼接符和 join(),不同的效率。(创建源文件mypy06.py)

 1 import time
 2 
 3 time01 = time.time()   #起始时刻
 4 a = ""
 5 for i in range(1000000):
 6     a += "jack"
 7 time02 = time.time()   #终止时刻
 8 print("+拼接运行时间:"+str(time02-time01))
 9 
10 
11 time03 = time.time()   #起始时刻
12 li = []
13 for i in range(1000000):
14     li.append("jack")
15 a = "".join(li)
16 time04 = time.time()   #终止时刻
17 print("join拼接运行时间:"+str(time04-time03))

  运行结果:

    +拼接运行时间:0.955474853515625
    join拼接运行时间:0.11672139167785645

以上是关于求python中join和split的详解的主要内容,如果未能解决你的问题,请参考以下文章

python 中join()函数strip() 函数和 split() 函数的详解及实例

python中join和split函数

Python中的join()函数split()函数

Python3-join()和split()

python split()分割和join()合并

Python--关于 join 和 split