[''.join(g) for x in l for k, g in groupby(x, key=lambda y: y.isdigit())]
['perfect', 'data', '1', 'queryda', '873', 'server', '187', 'tuplip', '91',
    'time']
Как разделить строку и число в списке Python?