无法删除\n

Not able to delete \n

也许是一个非常简单的答案,但我似乎无法摆脱换行符。 我有一个包含列表的列表,它看起来像这样:

[['US', '  146465', '  146935', '  148012', '  149374', '  150822', '  152055', '  153315', '  154448', '  154862', '  155402\n\n']]

最后有两个换行符,我需要去掉它们。所以首先我迭代了大列表以到达子列表。

for lists in L:

既然我在那里,我想使用 list[-1] 获取列表的最后一个元素当我打印这个时,我得到 155402\n 第二个换行符在哪里?所以我继续,现在我想唯一能做的就是在换行符处拆分它吧?:

print(lists[-1].split('\n'))

我的输出:

['  155402\n', '']

这到底是怎么回事!现在换行符前有一个双斜线。所以事实证明我无法取出一个简单的换行符 character:D 所以我的问题实际上是如何摆脱列表列表中的换行符。任何帮助,将不胜感激。谢谢!

额外的 \ 正在影响拆分。所以你需要做的是将多余的“\”替换为“”

尝试:

lists[-1].replace("\\", "\").split("\n")

在列表的最后一项中,实际上只有一个换行符,而不是两个。反斜杠“转义”换行符,因此只有 1 个。它不会删除第二个换行符,因为没有第二个换行符。如果需要 2 个换行符,请将 ' 155402\n\n' 更改为 ' 155402\n\n'

另一种略有不同的正则表达式方法 - 您可以捕获换行符或双反斜杠 n:

import re

for lists in L:
    lists[-1] = re.sub('\\n|\n', '', lists[-1])

或跳出循环

L[0][-1] = re.sub('\\n|\n', '', L[0][-1])