Python中用于反转由一组定界符分隔的单词的程序

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程