`在python中剥离拆分的结果

`在python中剥离拆分的结果,python,parsing,Python,Parsing,我试着做一些非常简单的事情: line = "name : bob" k, v = line.lower().split(':') k = k.strip() v = v.strip() 有没有办法把它合并成一行?我发现自己在制作解析器时一遍又一遍地写这篇文章,有时这不仅仅涉及两个变量 我知道我可以使用regexp,但这非常简单,不需要它…对不起,我不是说“将k和v重新组合成一行”。我的意思是,我可以避免对line.split()中的每个X执行X.strip()。我希望在spl

我试着做一些非常简单的事情:

line = "name      :    bob"
k, v = line.lower().split(':')
k = k.strip()
v = v.strip()
有没有办法把它合并成一行?我发现自己在制作解析器时一遍又一遍地写这篇文章,有时这不仅仅涉及两个变量


我知道我可以使用regexp,但这非常简单,不需要它…

对不起,我不是说“将k和v重新组合成一行”。我的意思是,我可以避免对line.split()中的每个X执行X.strip()。我希望在
split
ing之后,我可以将我拆分出来的所有变量都剥离出来。如果性能很重要,我会在剥离后降低,因为这样可以处理更少的字符。k、 v=[x.strip().lower(),用于行中的x.split(“:”)]。不过,编译后的正则表达式可能会更快。@Michael,过早的优化是万恶之源。我们没有理由认为这段代码对糟糕的性能有任何有意义的贡献,或者认为性能是一个问题。我想,对于OP的示例,在剥离之后做下一步(因此查找并调用该方法两次)实际上会更慢,但我不知道或不关心,如果不计时,您也不知道。
":".join([k, v])
import 're'
k,v = re.split(r'\s*:\s*', line)
line = ':'.join((k,v))
k, v = [x.strip() for x in line.lower().split(':')]
>>> map(str.strip,line.lower().split(":"))
['name', 'bob']