如何在列表元素中保留换行符 \n?

0 投票
2 回答
2098 浏览
提问于 2025-04-18 14:40

我现在在解决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'

撰写回答