Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中拆分字符串,然后将它们合并到一个字符串中,使每个字符串比下一个字符串长一个子字符串_Python_String_Split - Fatal编程技术网

在python中拆分字符串,然后将它们合并到一个字符串中,使每个字符串比下一个字符串长一个子字符串

在python中拆分字符串,然后将它们合并到一个字符串中,使每个字符串比下一个字符串长一个子字符串,python,string,split,Python,String,Split,基本上我想做的是取一个这样的字符串: -o-pp-gg-s-h 然后将其转换为一系列字符串: -o -o-pp -o-pp-gg -o-pp-gg-s -o-pp-gg-s-h 我知道我可以通过拆分字符串(str.split('-'))来实现这一点,然后使用一个循环连接子字符串以生成该输出('-'.join(lst))。然而,在Python中有没有更优雅的方法来实现这一点呢?列表理解 s = "-o-pp-gg-s-h" ss = s.split("-") series = ["-".joi

基本上我想做的是取一个这样的字符串:

-o-pp-gg-s-h
然后将其转换为一系列字符串:

-o
-o-pp
-o-pp-gg
-o-pp-gg-s
-o-pp-gg-s-h
我知道我可以通过拆分字符串(
str.split('-')
)来实现这一点,然后使用一个循环连接子字符串以生成该输出(
'-'.join(lst)
)。然而,在Python中有没有更优雅的方法来实现这一点呢?

列表理解

s = "-o-pp-gg-s-h"
ss = s.split("-")
series = ["-".join(ss[:x]) for x in range(2,len(ss)+1)]
这足够优雅吗?

列表理解

s = "-o-pp-gg-s-h"
ss = s.split("-")
series = ["-".join(ss[:x]) for x in range(2,len(ss)+1)]
>>> s='-o-pp-gg-s-h'
>>> nlist=s.split('-')
>>> for i in range(len(nlist)):
...  print '-'.join(nlist[:i])
... 


-o
-o-pp
-o-pp-gg
-o-pp-gg-s
>>> 

这足够优雅吗?

仅适用于多样性,使用
acculate
(在现代Python中):

>>> s='-o-pp-gg-s-h'
>>> nlist=s.split('-')
>>> for i in range(len(nlist)):
...  print '-'.join(nlist[:i])
... 


-o
-o-pp
-o-pp-gg
-o-pp-gg-s
>>> 

仅针对多样性,使用
累积
(在现代Python中):