python - 从列表项中删除特定的空格

标签 python list whitespace

我有一个巨大的行列表,每一行看起来如下

1 01 01 some random text

1 01 01 部分是一个引用号,它会逐行变化。我想删除三个引用编号之间的两个空格,使这些行看起来如下。

10101 some random text

显然,这需要一个for 循环。问题是我应该在循环中写什么我不能使用strip,

for i in my_list:
    i.strip()

因为那(如果有的话)会删除所有空格,给我

10101somerandomtext

我不想要。但是如果我写

for i in my_list:
    i.remove(4)
    i.remove(1)

我收到一条错误消息 'str' object has no attribute 'remove'。在这种情况下,正确的解决方案是什么。

提前致谢。

最佳答案

如果数字总是在开头,您可以使用 str.replace 的事实函数接受一个可选参数 count:

for l in mylist:
    print l.replace(' ', '', 2)

请注意,我在这里执行 print 是有原因的:您不能就地更改字符串,因为字符串是不可变的(这也是为什么它们没有 remove 方法,并且 replace 返回修改后的字符串,但保持初始字符串不变)。因此,如果您需要在列表中使用它们,创建另一个这样的列表会更简洁:

newlist = [l.replace(' ', '', 2) for l in mylist]

像这样覆盖列表也是安全的:

mylist = [l.replace(' ', '', 2) for l in mylist]

关于python - 从列表项中删除特定的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13668571/

相关文章:

c - 制作一个随机节点,第一个节点

netbeans - 如何在 NetBeans 中显示/显示隐藏或不可见的字符?

python - 如何根据给定条件交换字符串的字符?

list - 这是在 Golang 中清空列表的安全方法吗?

jquery - img 标签周围的空格会导致不同的布局

html - 如何去掉菜单中的空格

python - Twisted/Cyclone/Tornado 的高阶网络框架/附加组件(网络登录/用户/管理员)?

python - 逗号分隔时 Python 枚举中的 ValueError

python 类 __getitem__ 负索引处理

python - 从Python异常中删除路径