关于python:删除字符串前的空格

remove white space before a string character

我在移除角色前面的空白处时遇到困难。我试图分析下面的示例字符串对象:

1
Mary Whitten: {laptop: 100, tv : 5, xbox: 50, }, James Doe: {laptop: 30, tv: 3,  xbox: 5,}, Jesus Navas: {laptop: 25, tv: 3, xbox: 5},Matt Mart:{laptop:10, xbox: 10}

在分析上面的字符串时,我还使用了.split(",")。我拿到的钥匙是:

1
d=['Mary Whitten', ' James Doe', ' Jesus Navas', 'Matt Mart']

"James Doe"和"Jesus Navas"前面有一些空白,我试图避免这些空白,因为钥匙对空白很敏感,即"James Doe"与"James Doe"不同,因为钥匙中有空白。我该如何避免?另外,我想使列表项不区分大小写,例如:

1
d=(items.lowercase() for items in d)


看看strip()lstrip()rstrip()。医生在这里。

例如:

1
2
3
4
5
6
>>> 'Mary Whitten '.rstrip()
'Mary Whitten'
>>> ' James Doe'.lstrip()
'James Doe'
>>> ' Jesus Navas '.strip()
'Jesus Navas'

如果只需要去掉某些字符(例如只使用空格),则可以向.*strip方法馈送一个字符或一个字符,例如.strip("")'.rstrip("\?\.\!
")

为了你的目的,它看起来像

1
d = (items.lower().strip() for items in d)


您只需按以下步骤操作:

string.strip()

" Hello"上运行此脚本将使"Hello"得到

对于您的代码,您可以按如下方式执行:

1
2
3
4
5
d = [item.strip() for item in d]

>>> d = (item.lower().strip() for item in d)
>>> print d
['mary whitten', 'james doe', 'jesus navas', 'matt mart']