加入列表时只能获取一个'\'字符
我想在每个字母后面都有一个字符串,其中包含'\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'
我非常感谢在解决这个任何帮助。谢谢。
\w
不是一个字符。您可能会想到另一个转义字符,但'\w'
只是简单地评估为'\\w'
,因为\w
不存在。
哦,您可能还想用list(my_string)
或tuple(my_string)
或'[whatever character you actually wanted]'.join(my_string)
替换您的for循环 - 它更简单并且执行相同的操作。为了得到预期的结果,您还需要将字符添加到字符串的末尾,如'[x]'.join(my_string) + '[x]'
。就目前而言,在最后一封信后你不会得到这个角色。
你甚至不需要做'list(my_string)'。简单的''\ w'.join(my_string)'将起作用。 –
@ M.Klugerford啊,真的。应该更进一步。 – obskyr
为什么?没有什么是坏的。 –
转义字符。查看它们 –
''\ w'.join(list(my_string))'更正确,尽管 –