在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中):