>>> import re
>>> re.split('[ .]', 'a b.c')
['a', 'b', 'c']
Это заменяет все разделители на первый разделитель в списке, а затем «разделяет», используя этот символ.
def split(string, divs):
for d in divs[1:]:
string = string.replace(d, divs[0])
return string.split(divs[0])
вывод:
>>> split("a b.c", " .")
['a', 'b', 'c']
>>> split("a b.c", ".")
['a b', 'c']
Тем не менее, мне нравится это решение.