加入列表时只能获取一个'\'字符

问题描述:

我想在每个字母后面都有一个字符串,其中包含'\w'字符。加入列表时只能获取一个''字符

例如:

my_string = 'asdfg' 

我想要什么:

my_string = 'a\ws\wd\wd\wf\wg\w' 

现在,我是如何处理,这是第一个存储每一个字母到一个列表:

list=[] 
for i in my_string: 
    list.append(i) 

然后加入它与一个\w之间的字符组成我的新字符串。但是,我遇到了一些问题。

'\w'.join(list) 

我得到一个双反斜线字符,而不是一个:

'q\\ww\\we\\wr\\wt\\wy\\wu\\wy\\wt\\wr\\we\\ws\\wd\\wf\\wt\\wy\\wu\\wi\\wo\\wk\\wn\\wn' 

我非常感谢在解决这个任何帮助。谢谢。

+2

为什么?没有什么是坏的。 –

+0

转义字符。查看它们 –

+0

''\ w'.join(list(my_string))'更正确,尽管 –

\w不是一个字符。您可能会想到另一个转义字符,但'\w'只是简单地评估为'\\w',因为\w不存在。

哦,您可能还想用list(my_string)tuple(my_string)'[whatever character you actually wanted]'.join(my_string)替换您的for循环 - 它更简单并且执行相同的操作。为了得到预期的结果,您还需要将字符添加到字符串的末尾,如'[x]'.join(my_string) + '[x]'。就目前而言,在最后一封信后你不会得到这个角色。

+0

你甚至不需要做'list(my_string)'。简单的''\ w'.join(my_string)'将起作用。 –

+0

@ M.Klugerford啊,真的。应该更进一步。 – obskyr