列表python中的split和strip元素

时间:2013-12-11 05:56:26

标签: python file list strip

单词是一个看起来像这样的列表:

        ['34 ', '111110 ', '0 ', '@jjuueellzz down ']
        ['67 ', '111112 ', '1 ', 'Musical awareness ']
        ['78 ', '111114 ', '1 ', 'On Radio786 ']
        ['09 ', '111116 ', '0 ', 'Kapan sih lo ']

如果你注意到列表中的每个元素后面都有一个空格,我知道我应该剥离但不知道我该怎么做。

这是我的代码:

words = line.split('\t')

如果我words = line.strip().split('\t') - 它没有像我想要的那样正确剥离

2 个答案:

答案 0 :(得分:5)

最简单的方法可能就是用这样的东西替换你的第一行:

words = [x.strip() for x in line.split('\t')]

这是一个列表理解,将line.split('\t')返回的列表中的每个元素,剥离它,并将其添加到新列表中。

答案 1 :(得分:3)

这对列表理解最简单:

lst = ['34 ', '111110 ', '0 ', '@jjuueellzz down ']
new_lst = [x.strip() for x in lst]

现在我不确定我是否完全理解你的输入 - 也许你有一个列表清单。如果是这种情况,那么你只需将一个列表理解放在另一个列表中:

new_data = [[x.strip() for x in lst] for lst in old_data]

如果原始列表是line.split('\t')的结果,则答案变得更加容易。在任何空格上拆分,而不仅仅是标签:

line.split()  # splits on *any* whitespace!.