Python 在文本文件中反转单词的字母?

Python 在文本文件中反转单词的字母?,python,python-2.7,Python,Python 2.7,我想反转文本文件中的单词字母,例如: 输入> 输出> DCBA : 321 AQ KHGF : 654 BQ 编辑: 我的一些不成功的解决方案: " ".join(str[::-1].split()[::-1]) ''.join([str[i] for i in xrange(len(str)-1, -1, -1)]) 谢谢您可以这样尝试: >>> my_string = "ABCD : 123 QA" >>> "{} {}\

我想反转文本文件中的单词字母,例如: 输入>

输出>

DCBA :    321 AQ  
KHGF :    654 BQ
编辑:

我的一些不成功的解决方案:

 " ".join(str[::-1].split()[::-1])  
 ''.join([str[i] for i in xrange(len(str)-1, -1, -1)])
谢谢

您可以这样尝试:

>>> my_string = "ABCD :    123 QA"
>>> "{} {}\t {} {}".format(*map(lambda x:x[::-1],my_string.split()))
'DCBA :\t 321 AQ'
您可以使用re.split:

使用r'\s'模式,您可以在任何whitspace之后拆分字符串,但保留它们,因此您将得到以下列表:

['ABCD', ' ', ':', ' ', '', ' ', '', ' ', '', ' ', '123', ' ', 'QA']

然后你可以用map在你的单词上应用反向功能,最后把它们连接起来。

到现在为止你都试过什么?添加一些代码,如果您遇到任何错误,我们将提供帮助。看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是,包括您迄今为止编写的代码、示例输入(如果有)、预期输出以及您实际获得的控制台输出、堆栈跟踪、编译器错误——只要适用。您提供的详细信息越多,您可能收到的答案就越多。@请将其添加到您的问题中,这样这才是您真正的问题。然后修复您的问题。如果文件中的任何一行不包含正好4个空格分隔的值,这将崩溃。否决票不是我的,但我注意到OP的主要问题是维护空格-将它们转换为选项卡可能不是他想要的do@Rawing对于OP输入,它会起作用的。OP input dosent包含4个空格。我只举了一个例子,我想要一个通用的解决方案。谢谢,对我来说效果很好。@喝彩欢迎!
>>> import re
>>> s ='ABCD :    123 QA'
>>> ''.join(map(lambda x: x[::-1],re.split(r'(\s?)',s)))
'DCBA :    321 AQ'
['ABCD', ' ', ':', ' ', '', ' ', '', ' ', '', ' ', '123', ' ', 'QA']