2013-04-13 165 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

相关问题