如何在列表元素中保留换行符 \n?
我现在在解决Project Euler的第59题。我把给定的ASCII序列和一个由3个字母组成的ASCII密钥进行异或运算。当我进行异或运算时,如果恰好有两个相邻的元素是\
和n
,那么我的结果就会变成这样:
\\n
而不是\n
根据我的理解,这样做是为了多加一个反斜杠,以便忽略换行符,但我需要我的列表保持原样,原因很明显。我该如何在列表中保留\n
而不让它变成换行呢?
补充:我现在仔细检查了一下,每次异或运算的结果变成\
时,它会自动变成\\
。
2 个回答
0
我觉得你误解了,"\\"
其实是一个字符:
print len("\\")
print ord("\\")
0
你看到的 '\\n'
实际上是 '\n'
。这里的 '\\'
只是为了在字符串中表示一个反斜杠而使用的转义方式,正如 Joran 所说,它其实是一个单独的字符。如果你想了解更多关于 Python 字符串中的转义序列的信息,可以查看这个链接:https://docs.python.org/2/reference/lexical_analysis.html#string-literals
>>> s = '\\n'
>>> print s
\n
>>> print repr(s)
'\\n'