如何删除列表列表中的“\ n”(python)

时间:2016-05-02 19:59:10

标签: python list file newline

我有一个巨大的列表列表,我从这样的文件中导入:

letters = []
for i in range(len(string)):
    let = []
    for j in range(7):
        line = infile.readline()
        let = let + [line]
    letters.append(let)
    infile.readline()

它是一个很大的列表列表,但每个辅助列表的末尾都有一个\ n。

[['   ###   \n', '  ## ##  \n', ' ##   ## \n', '##     ##\n', 
'#########\n', '##     ##\n', '##     ##\n'], ['######## \n',
'##     ##\n', '##     ##\n', '######## \n', '##     ##\n',
'##     ##\n', '######## \n'], ... ]]

如何删除\ n?所以它只是

[['   ###   ', '  ## ##  ', ' ##   ## ', '##     ##', 
'#########', '##     ##', '##     ##'], ['######## ',
'##     ##', '##     ##', '######## ', '##     ##',
'##     ##', '######## '], ... ]]

在那里拥有空间也很重要。我试过了

 letters.strip("\n")

但是没有用。

请帮忙!

编辑:我认为这可能是

的问题
line = infile.readline()

但我不确定如何修复它。

我想要的输出是

    ###    #######  ########

但我得到了这个

    ###
  #######
 ########

3 个答案:

答案 0 :(得分:3)

只要您当前的代码呼叫.readline(),请改为.readline().rstrip('\n')

答案 1 :(得分:1)

尝试:

line = infile.readline()
line = line.strip('\n')
let = let + [line]

答案 2 :(得分:0)

如果您只想从最后一个元素中删除\n,请使用:

t[-1] = t[-1].strip()

如果要从所有元素中删除\n,请使用以下命令:

t = map(lambda s: s.strip(), t)

您可能还会考虑在拆分行之前删除\n

line = line.strip()