我无法移除角色前面的空白区域。我正在尝试解析下面的示例字符串对象:
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('},')。我得到的钥匙:
d=['Mary Whitten', ' James Doe', ' Jesus Navas', 'Matt Mart']
前面有一些空白区域。詹姆斯·多伊'和'耶稣纳瓦斯'我试图避免,因为键对白色空格敏感,即d [' James Doe']与['詹姆斯·多伊因为钥匙中的白色空间。我该如何避免呢?此外,我想使列表项不区分大小写,如:
d=(items.lowercase() for items in d)
答案 0 :(得分:2)
查看strip()
,lstrip()
和rstrip()
。 Docs here
例如:
>>> 'Mary Whitten '.rstrip()
'Mary Whitten'
>>> ' James Doe'.lstrip()
'James Doe'
>>> ' Jesus Navas '.strip()
'Jesus Navas'
如果您只想剥离某些字符(例如只有空格),则可以为.*strip
方法提供字符或可迭代的字符,例如.strip(" ")
或'.rstrip("\?\.\!\n")
。
出于您的目的,它看起来像
d = (items.lower().strip() for items in d)
答案 1 :(得分:0)
您可以按照以下方式执行此操作:
string.strip()
在" Hello "
上运行此脚本会提供"Hello"
对于您的代码,您可以按以下方式执行:
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']