首页 > 解决方案 > 无法删除\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', '']

到底是什么东西!现在换行符之前有一个双斜杠。事实证明我无法取出一个简单的换行符:D 所以我的问题是我如何才能摆脱列表列表中的换行符。任何帮助,将不胜感激。谢谢!

标签: pythonlistnewlinesublist

解决方案


另一种略有不同的正则表达式方法 - 您可以同时捕获新行字符或双反斜杠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])

推荐阅读