Это работает для меня:
import re
mylist = []
pieces = "Ka4Qb3Td7b4c4"
for chunk in re.finditer("(.*?[0-9]{1})",pieces):
mylist.append(chunk.group(1))
print mylist
Вам может понадобиться настроить регулярное выражение, если есть 2-значный разделитель (я не шахматист ...)
Ради интереса, я переработал его как предложенное для понимания списка и согласен, что он намного чище:
import re
pieces = "Ka4Qb3Td7b4c4"
mylist = [ chunk.group(0) for chunk in re.finditer(".*?\d+",pieces) ]
print mylist