Python 2.7 python 2.7.8分隔符。如何删除字符串中的字母

Python 2.7 python 2.7.8分隔符。如何删除字符串中的字母,python-2.7,delimiter,Python 2.7,Delimiter,我想给这个func一个类似“ballooolam”和“l”的字符串,我想让这个func给我[“ba”,“ooo”,“am”]3天,我在考虑它在python中对字符进行拆分的正确方法是使用拆分内置。它将比您在python中本机实现的任何东西都要快,因为它是一个已编译的C扩展,目前所有的内置程序都是这样: def split(string,x): if string == "": return "" if string[0] == x : return

我想给这个func一个类似“ballooolam”和“l”的字符串,我想让这个func给我[“ba”,“ooo”,“am”]3天,我在考虑它

在python中对字符进行拆分的正确方法是使用
拆分
内置。它将比您在python中本机实现的任何东西都要快,因为它是一个已编译的C扩展,目前所有的内置程序都是这样:

def split(string,x):
    if string == "":
        return ""
    if string[0] == x :
        return split(string[1:],x)
    return string[0]+[split(string[1:],x)]
然而,正如本文所讨论的,这可能并没有达到您所期望的效果<代码>拆分在存在长度为零的令牌时,在列表中保留空字符串;即,如果测力仪位于管柱的第一个/最后一个位置,或者如果两个测力仪相邻。这是因为执行
word='l'。join(lst)
将返回原始值;如果没有空字符串,您将返回
'baloolam'
,而不是
'baloolam'
。如果要删除这些空字符串,可以使用列表轻松删除:

lst =  "ballooolam".split("l")
if标记
将拒绝任何“falsy”字符串,即空字符串。如果您还想从最终列表中排除仅限空格的字符串,可以稍作调整:

def splitter(string, x):
    return [token for token in string.split(x) if token]

strip()
从字符串中删除任何前导/尾随空格。对于仅限空白的字符串,这将导致一个空字符串,然后该字符串将为falsy。

为什么不使用string.split('l')?????或者,这是一种练习吗?几乎是这样想来解决问题是很好的。对不起,我不明白你说的是什么意思。
def splitter(string, x):
    return [token for token in string.split(x) if token.strip()]