Python中用于反转由一组定界符分隔的单词的程序
假设我们有一个字符串和一组定界符,我们必须将字符串中的单词反转,同时不能改变定界符的相对顺序。
因此,如果输入为 s =“计算机/网络:互联网|tutorialspoint”delims =[“ /”,“:”,’|’],那么输出将是 tutorialspoint/Internet:Network |计算机
要解决此问题,我们需要按以下步骤操作:
单词:=新列表
ans:=空字符串
temp:=地图,其中
除分隔符字符外,将单词分开并将其插入单词数组
当字符是定界符时,将单词分开,然后将其添加到ans中,
否则从单词数组反转读取单词并添加到ans中
返回答案
让我们看一下以下实现,以更好地理解:
例子
from itertools import groupby
class Solution:
def solve(self, sentence, delimiters):
words = []
ans = ""
for k, g in groupby(sentence, lambda x: x in delimiters):
if not k:
words.append("".join(g))
for k, g in groupby(sentence, lambda x: x in delimiters):
if k:
ans += "".join(g)
else:
ans += words.pop()
return ans
ob = Solution()
s = "Computer/Network:Internet|tutorialspoint"
delims = ["/", ":", '|']
print(ob.solve(s, delims))
输入
"Computer/Network:Internet|tutorialspoint", ["/", ":", '|']
输出
tutorialspoint/Internet:Network|Computer