python从列表中的条目中删除所有空格

标签 python string list

在 .srt 文件上调用 readlines() 时,我得到了一个包含大量前导和尾随空格的字符列表,如下所示

with open(infile) as f:
    r=f.readlines()
    return r

我得到了这个列表

['\xef\xbb\xbf1\r\n', '00:00:00,000 --> 00:00:03,000\r\n', "[D. Evans] Now that you've written your first Python program,\r\n",'\r\n', '2\r\n', '00:00:03,000 --> 00:00:06,000\r\n', 'you might be wondering why we need to invent new languages like Python\r\n', '\r\n']

为了简洁起见,我只包含了几个元素。我如何清理这个列表,以便我可以删除所有空白字符并只获取相关元素,如

 ['1','00:00:00,000 --> 00:00:03,000',"[D. Evans] Now that you've written your first Python program"...]

最佳答案

您可以剥离每一行。如果您正在处理一个大文件,将它作为生成器运行还可以为您节省一些内存。

此外,看起来您正在处理一个 UTF-8 文件,其中前几个字符带有 BOM(这有点傻,或者至少是不必要的),因此您需要以不同的方式打开它。

import codecs

def strip_it_good(file):
    with codecs.open(file, "r", "utf-8-sig") as f:
        for line in f:
            yield line.strip()

关于python从列表中的条目中删除所有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10656607/

相关文章:

python - 更改导入的类变量

java - Google Protobuf ByteString 与 Byte[]

javascript - 以安全的方式为 nodeJS 转换流设置编码

Java递归关于反转单个列表

python - Kivy ListItemButton - 如何增加按钮尺寸的高度?

python - 在 GAE 中组合文本搜索和查询过滤器

Java Thread ,答案是A怎么来的?

python - 如何分隔非逗号分隔的字典?

c++ - 数组/列表及其维度

python - 如何使用正则表达式搜索 unicode 文本并查找包含重复字母的单词?