一個 Python 程式,用於顛倒由一系列分隔符定界的單詞順序
假設我們有一個字串和一組分隔符,我們必須顛倒字串中的單詞順序,同時分隔符的相對順序不應該改變。
因此,如果輸入類似於 s = "計算機/網路:Internet|tutorialspoint" delims = ["/", ":", '|'], 那麼輸出將是 tutorialspoint/Internet:Network|Computer
要解決這個問題,我們將遵循以下步驟
words := 一個新列表
ans := 空字串
temp := 一個對映,其中
將單詞(分隔符字元除外)分開,並將其插入 words 陣列
如果字元在分隔符中,則將單詞分開並將其新增到 ans 中,
否則從 words 陣列中反向讀取單詞並新增到 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP