2013-04-13 166 views
0

我想分割一個字符串,將它反轉並用X代替函數中的空格。分割一個字符串,反轉然後加入python中的字符串

例如。

'誰手錶看守 - >到 - > SEHCTAWXOHWXSREHCTAWXEHT'

str = ("WHO WATCHES THE WATCHERS") 
str = str.split(' ',4) 
str.reverse() 
print str 

str = 'X' 
seq = ("who", "watches", "the", "watchers") 
print str.join(seq) 

但這隻能讓我:

['看守人 '的', '手錶', '誰' ]

whoXwatchesXtheXwatchers

時,我想「SEHCTAWXOHWXSREHCTAWXEHT」

請用簡單的功能碼回覆。我是這個初學者。

+2

您正在重用名稱'str'並砸碎舊的值。仔細看看你的代碼。無論如何,當你屏蔽內建的'str()'函數時,這是個不好的變量名稱。 –

+0

這似乎是一個受歡迎的問題:=) –

+2

等等,你如何從「看守着看守」的人看到「SEHCTAWXOHWXSREHCTAWXEHT」?預期產量是不是「SREHCTAWXEHTXSEHCTAWXOHW」? – Emily

回答

6

您的代碼正在顛倒單詞的順序,但不是實際的單詞本身。試試這個:

def reverse_and_join(s): 
    return "X".join(s[::-1].split(" ")) 

這段代碼反轉整個字符串,將它拆分爲空格,然後用「X」連接反轉字的反轉列表。有關[::-1]語法的解釋,請參閱this question

+0

您可以通過提前撤銷來簡化此操作。 '「X」.join(string [:: - 1] .split())' –

+0

謝謝!編輯我的答案。 – Emily

+0

非常感謝。所以如果我要把它放在一個函數中,我會說 def a(words,blocksize) words = [word [:: - 1] for str.split(「」)] words.reverse() return「X」.join(words) – lowlyf

相關問題